用户登录
用户注册

分享至

hibernate 事务 提交

  • 作者: 牵蜗牛逛青樓
  • 来源: 51数据库
  • 2020-09-30
查看该部分代码,推测可能是player = (Player)playerlist.get(i); 出现了问题;
如果player在上面的代码中是不为null,并且该对象的数据是保存到数据库过的,也就是进行了持久化的。由于hibernate使用缓存,player = (Player)playerlist.get(i);也就是重新给之前持久化过的实例player进行了赋值,player进行了更新,更新操作会在事务中提交。而此处多次循环赋值,并且都是已经保存过的数据,所以id肯定是重复的,也就报错了。

针对调用Query方法出错,是不是可能导包的时候弄错了,请确认导入的Query类是否为org.hibernate.Query;



  hibernate在进行事物持久化时候,你要使用sesison.close();在确定你是单表的查询时候,要在每次查询sql语句时候,将sql关闭,这样在缓存才能类似,数据库使用(oracle中)commit;sqlserver中使用执行一样,这样才能将数据库和你页面调用同步!
软件
前端设计
程序设计
Java相关