2 qq 16510391 qq_16510391 于 2015.07.01 12:30 提问

那个好心的给我看看,hibernate问题,谢谢
    1.  String sql="delete from UserModel t where t.uId=?";
        getSession().createQuery(sql).setInteger(0, user.getuId()).executeUpdate();

    2.  getSession().delete(u);

    为什么上面可以,下面的就不可以,查询get(), 添加getsession().save()可以,删除和修改不可以

10个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.01 13:03

看看是否报错,如果没报错,session提交一下事务。

qq_16510391
qq_16510391   2015.07.01 13:18

没有报错,我是用spring来管理事务的,就是不知道对不对。
图片说明

guonan198811
guonan198811   2015.07.01 13:46

看看你的U是不是多表的关联关系,如果是多表关联或者含有外键,直接删除是有问题的,需要把关联的外键先置空

qq_16510391
qq_16510391 我都弄了两个周了心都碎了,真是找不到为什么?
2 年多之前 回复
qq_16510391
qq_16510391 我就做测试,只有一张表。
2 年多之前 回复
qq_16510391
qq_16510391   2015.07.01 14:00

我就做测试,只有一张表。

gloomy_114
gloomy_114   2015.07.01 16:28

你的U具体是什么?是一个对象么?

qq_16510391
qq_16510391 不行啊,如果手动添加事务会报一个错误,不支持嵌套事务。
2 年多之前 回复
qq_16510391
qq_16510391 不行啊,如果手动添加事务会报一个错误,不支持嵌套事务。
2 年多之前 回复
gloomy_114
gloomy_114 session.getTransaction().commit(); session.close();
2 年多之前 回复
gloomy_114
gloomy_114 大概是这样的
2 年多之前 回复
gloomy_114
gloomy_114 回复qq_16510391: 你试一下做一个事物的提交。
2 年多之前 回复
qq_16510391
qq_16510391 恩恩,就是一个实体对象。
2 年多之前 回复
qq_16510391
qq_16510391 恩恩,就是一个实体对象。
2 年多之前 回复
qq_16510391
qq_16510391   2015.07.01 17:21

恩恩,就是一个实体对象。

qq_16510391
qq_16510391   2015.07.01 17:20

恩恩,就是一个实体对象。

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.01 23:12

http://ask.csdn.net/questions/186931

这条也是你发的,没有解决么、、

类似问题http://bbs.csdn.net/topics/390780184

操作方法http://lzc0088.iteye.com/blog/477137

qq_16510391
qq_16510391 报错
2 年多之前 回复
qq_16510391
qq_16510391 而且还要保存,说不支持嵌套事务。
2 年多之前 回复
qq_16510391
qq_16510391 还是不行啊
2 年多之前 回复
qq_16510391
qq_16510391 http://ask.csdn.net/questions/186931 这解决了就现在这个没解决。。。搞得我头大了。。请求帮助谢谢。、
2 年多之前 回复
guonan198811
guonan198811   2015.07.02 10:49

具体的只看你的描述不好判断,我也做hibernate 下数据的增删改查,在改和删除时首先要查找到具体的对象,然后才能对对象进行删除和修改操作,操作完成后提交事务,应该不会出问题,你先看看你又没有准确获得修改和删除的对象吧

qq_16510391
qq_16510391 我滴和你以前的错误,好像一模一样。
2 年多之前 回复
qq_16510391
qq_16510391 获取到了的
2 年多之前 回复
guonan198811
guonan198811   2015.07.02 11:54

public void Remove(ConferencePeopleEntity item)
{
using (ISession session = NHibernateHelper.OpenSession())
{
using (ITransaction trans = session.BeginTransaction())
{
try
{
session.Delete(item);
trans.Commit();
}
catch (Exception e)
{
trans.Rollback();
throw e;
}
}
}
}
你参考一下,如果还不对,就是你的maping映射出了问题,自己好好看看or/m映射

qq_16510391
qq_16510391 我的事务是用spring管理的,这样写会报错。映射,没问题,不然我怎么能查询和添加数据,
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片