hibernate 一对一双向关联 删除问题
User.hbm.xml<many-to-onename="info"class="bean.userManage.user.UserInfo"column="USERI...
User.hbm.xml
<many-to-one name="info" class="bean.userManage.user.UserInfo" column="USERID" cascade="all" unique="true" />
UserInfo.hbm.xml
<one-to-one name="user" class="bean.userManage.user.User"
property-ref="info" />
说明一下 映射关系应该是没有错的 级联保存对象是可以的
后来我要删除对象的时候就出错了
大概错误信息如下:
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
我要删除的对象是用find。。ById(..)查找出来的 方法没错 能够正确查找出对象!
但删除这个对象时就报错了!
我的删除方法如下:
public void deleteAccount(User user) {
Session session = null;
Transaction tran = null;
try {
session = sessionFactory.openSession();
tran = session.beginTransaction();
session.delete(user);
tran.commit();
} catch (HibernateException e) {
if (tran != null)
tran.rollback();
throw e;
} finally {
if (session != null)
session.close();
}
}
session 和事务都是通过spring管理的 测试没有问题的
搞不懂事怎么回事了 请大家帮帮忙!感激不尽啊!!急啊~·
解决咯~
加上:
User user1=(User)session.load(User.class,user.getAccountID());
session.delete(user1);
没等大家来回答就解决了嘛 一是来分享一下
二来大家有什么好的方法当然可以说来听听 学习学习嘛 展开
<many-to-one name="info" class="bean.userManage.user.UserInfo" column="USERID" cascade="all" unique="true" />
UserInfo.hbm.xml
<one-to-one name="user" class="bean.userManage.user.User"
property-ref="info" />
说明一下 映射关系应该是没有错的 级联保存对象是可以的
后来我要删除对象的时候就出错了
大概错误信息如下:
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
我要删除的对象是用find。。ById(..)查找出来的 方法没错 能够正确查找出对象!
但删除这个对象时就报错了!
我的删除方法如下:
public void deleteAccount(User user) {
Session session = null;
Transaction tran = null;
try {
session = sessionFactory.openSession();
tran = session.beginTransaction();
session.delete(user);
tran.commit();
} catch (HibernateException e) {
if (tran != null)
tran.rollback();
throw e;
} finally {
if (session != null)
session.close();
}
}
session 和事务都是通过spring管理的 测试没有问题的
搞不懂事怎么回事了 请大家帮帮忙!感激不尽啊!!急啊~·
解决咯~
加上:
User user1=(User)session.load(User.class,user.getAccountID());
session.delete(user1);
没等大家来回答就解决了嘛 一是来分享一下
二来大家有什么好的方法当然可以说来听听 学习学习嘛 展开
展开全部
汗!没有加载。
我之前都是用继承hibernatesuperDAO这个类的一个方法来做,写个baseDao,四个方法(增删改查),入参都是用Objeact 类型的实体对象, 这四个方法基本可以满足你整个系统所要做的
我之前都是用继承hibernatesuperDAO这个类的一个方法来做,写个baseDao,四个方法(增删改查),入参都是用Objeact 类型的实体对象, 这四个方法基本可以满足你整个系统所要做的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
....解决了还发什么问题啊,呵呵...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询