映射关系,使用共享主键
generuser->generuserMsg
generuser:
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="increment" />
</id>
<one-to-one name="generuserMsg" class="com.iwt57.bbs.model.GeneruserMsg"
outer-join="true" cascade="all"></one-to-one>
generuserMsg:
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="foreign">
<param name="property">generuser</param>
</generator>
</id>
<one-to-one name="generuser" class="com.iwt57.bbs.model.Generuser"
constrained="true"></one-to-one>
1.generuser.getGeneruserMsg().setImage("default.jpg");
2.generuserManager.update(generuser);使用struts2从JSP向action中传值.我想修改一下image,但更新不成功
一对一关系怎么在更新时出现异常,把1去掉刚可正常更新,插入也正常
有谁知道原因???帮忙看一下!!!
generuser->generuserMsg
generuser:
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="increment" />
</id>
<one-to-one name="generuserMsg" class="com.iwt57.bbs.model.GeneruserMsg"
outer-join="true" cascade="all"></one-to-one>
generuserMsg:
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="foreign">
<param name="property">generuser</param>
</generator>
</id>
<one-to-one name="generuser" class="com.iwt57.bbs.model.Generuser"
constrained="true"></one-to-one>
1.generuser.getGeneruserMsg().setImage("default.jpg");
2.generuserManager.update(generuser);使用struts2从JSP向action中传值.我想修改一下image,但更新不成功
一对一关系怎么在更新时出现异常,把1去掉刚可正常更新,插入也正常
有谁知道原因???帮忙看一下!!!
"applicationContext.xml");
GeneruserManager generuserManager = (GeneruserManager) context
.getBean("generuserManager");
Generuser generuser = generuserManager.get(2);
generuser.getGeneruserMsg().setImage("test");
generuserManager.update(generuser);
在application直接运行可以更新,但从jsp页面获取对象后就不可以更新了
org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property: generuser
package com.iwt57.bbs.service.impl;import java.util.List;import com.iwt57.bbs.dao.GeneruserDao;
import com.iwt57.bbs.model.Generuser;
import com.iwt57.bbs.service.GeneruserManager;public class GeneruserManagerImpl implements GeneruserManager {
GeneruserDao generuserDao; public void setGeneruserDao(GeneruserDao generuserDao) {
this.generuserDao = generuserDao;
} public void changePassword(Integer userId, String newPassword) {
Generuser generuser = generuserDao.findById(userId);
if (generuser != null) {
generuser.setPassword(newPassword);
generuserDao.update(generuser);
}
} public Generuser get(String username, String password) {
return generuserDao.get(username, password);
} public Generuser get(String username) { return generuserDao.get(username);
} public void add(Generuser generuser) {
generuser.setLevel(new Short("3"));
generuser.getGeneruserMsg().setCreateTime(new java.util.Date());
generuserDao.save(generuser);
} public void del(Generuser generuser) {
generuserDao.delete(generuser);
} public void update(Generuser generuser) {
generuserDao.update(generuser);
} public void del(Integer id) {
// TODO Auto-generated method stub
Generuser generuser = generuserDao.findById(id);
if (generuser != null) {
generuserDao.delete(generuser);
}
} public List<Generuser> getList() {
// TODO Auto-generated method stub
return generuserDao.findAll();
} public Generuser get(Integer id) {
// TODO Auto-generated method stub
return generuserDao.findById(id);
}
}我使用泛化类,类操作应该没有问题,我进行过调试了,
如果不是jsp页面传值没有问题,或者传值在action不进行修改也没有问题
1.generuser.getGeneruserMsg().setImage("default.jpg");
2.generuserManager.update(generuser); 像这里,不要1更新没有问题.