hibernate的一个小问题 本帖最后由 JAVA_Notes 于 2012-06-12 13:28:06 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这里只要不报异常,都提示删除成功判断一下,判断sessin.delete方法的返回值,返回值大于0示再给提示,不然提示删除记录为0条。 这个....sessin.delete是hibernate里封装好的方法,该方法没有返回值我其实就是想问为什么使用getTransaction就会报异常说删除失败使用beginTransaction就不报异常 Session session = HibernateSessionFactory.currentSession(); // 创建SESSION Transaction tx = null //声明事务try{ tx = session.beginTransaction(); //开始事务 String hql = "delete Student s where s.name = 'googol' "; Query query = session.createQuery(hql); query.executeUpdate(); tx.commit() //一定要提交 tx = null;}catch(Exception e){ e.printStackTrace(); if(tx !=null) { tx.rollback(); //失败则回滚 } }finally{ session.close();}你用这个方法删除不好吗!?既可以批量删除,也可以。 没有开启事务当然会报错了。使用 beginTransaction 时,删除也是成功的,只是成功的记录条数是0条,你可以将SQL语句放到PL/SQL里执行,会给你报成功,影响数据为0条。 小菜问题:jsp猜数游戏,500错误 关于一个奇怪的查询要求,大家帮帮忙,没有分了 求助 简单问题。eclipse这写英文是什么 谁能解释一下这两行? 关于路径问题. struts2的XML校验问题。 关于想servlet和jsp共享一个bean的操作,servlet中应该如何写? 请教:如何利用iis+resin配置多虚拟站点 springboot使用Redis集群速度慢的问题 SQL sum函数问题 struts2 标签文本框怎么取出对象?
判断一下,判断sessin.delete方法的返回值,返回值大于0示再给提示,不然提示删除记录为0条。
sessin.delete是hibernate里封装好的方法,该方法没有返回值我其实就是想问为什么使用getTransaction就会报异常说删除失败
使用beginTransaction就不报异常
Session session = HibernateSessionFactory.currentSession(); // 创建SESSION
Transaction tx = null //声明事务
try
{
tx = session.beginTransaction(); //开始事务
String hql = "delete Student s where s.name = 'googol' ";
Query query = session.createQuery(hql);
query.executeUpdate();
tx.commit() //一定要提交
tx = null;
}catch(Exception e)
{
e.printStackTrace();
if(tx !=null)
{
tx.rollback(); //失败则回滚
}
}
finally
{
session.close();
}
你用这个方法删除不好吗!?既可以批量删除,也可以。
没有开启事务当然会报错了。
使用 beginTransaction 时,删除也是成功的,只是成功的记录条数是0条,你可以将SQL语句放到PL/SQL里执行,会给你报成功,影响数据为0条。