hibernate的删除问题
发布网友
发布时间:2024-03-23 10:52
我来回答
共6个回答
热心网友
时间:2024-07-22 02:10
当然啊。。。你添加后没有提交事物,属于临时状态,当然删除不了。
可以在添加和删除的方法里写提交事物的动作。
或者把hibernate 设置成自动提交,在hibernate.cfg.xml中增加属性connection.autocommit='true'
不过建议使用第一种,如果出错的话在catch中可以回滚,
热心网友
时间:2024-07-22 02:02
1、检查是否有事务的提交;
2、建议用javabean封装key值,用session.delete(javabean)方式操作
热心网友
时间:2024-07-22 02:09
那你在用看看你的那个key有没有得到值了。。
热心网友
时间:2024-07-22 02:05
Transaction tx = session.beginTransaction();
session.createQuery(delete from table where key=?").executeUpdate();
tx.commit();
session.close();
热心网友
时间:2024-07-22 02:10
用hql语句,并且注意在对数据库中的数据进行改变时,要注意事务的提交!
下面是我自己跑的一个小例子!希望对你有帮助!我这里是个通用的方法。
/**
* 删除一条记录
* @param cls
* @param id
*/
public void del(Class cls,int id) {
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction tran=session.beginTransaction();
Object obj=session.get(cls, id);
session.delete(obj);
tran.commit();
session.close();
}
这里是调用这个方法:
public void del(int id) {
super.del(Student.class, id);
}
热心网友
时间:2024-07-22 02:04
页面传递你用的是request作用域吧,用session就好了,不过session用完后每次要清空一下