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()可以,删除和修改不可以
看看是否报错,如果没报错,session提交一下事务。
没有报错,我是用spring来管理事务的,就是不知道对不对。
看看你的U是不是多表的关联关系,如果是多表关联或者含有外键,直接删除是有问题的,需要把关联的外键先置空
我就做测试,只有一张表。
你的U具体是什么?是一个对象么?
恩恩,就是一个实体对象。
http://ask.csdn.net/questions/186931
这条也是你发的,没有解决么、、
类似问题http://bbs.csdn.net/topics/390780184
操作方法http://lzc0088.iteye.com/blog/477137
具体的只看你的描述不好判断,我也做hibernate 下数据的增删改查,在改和删除时首先要查找到具体的对象,然后才能对对象进行删除和修改操作,操作完成后提交事务,应该不会出问题,你先看看你又没有准确获得修改和删除的对象吧
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映射