那个好心的给我看看,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()可以,删除和修改不可以

看看是否报错,如果没报错,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映射