我正在使用JSF
应用程序,我正在使用Hibernate作为ORM映射工具。
问题:
我使用MySQL
作为数据库,所以我通过hibernate将数据添加到Mysql
。
现在我正在尝试从bean类更新数据库值
当我尝试更新它时,查询将成功执行,但值更新值将不会添加到数据库
中我的Bean类代码:
Session session=HibernateUtil.getSessionFactory().openSession();
Query hQuery=session.createQuery("update Record set status='Present' where refId=100");
System.out.println("Result : "+hQuery.executeUpdate());
上面的代码是从表“record”更新数据库值,它在输出中没有显示错误,但数据库中的值没有更新。
Hibernate : update sample.record set Status='Present' where RefId=100
Result : 9
在控制台中显示的上述结果中,showSql
任何建议都会非常感激......
答案 0 :(得分:4)
我在提交hibernate事务 ...
中犯了一个错误更新了Bean类
Transaction tx=null;
Session hSession=HibernateUtil.getSessionFactory().openSession();
Query hQuery=hSession.createQuery("update Leaverecord set status='HR' where refId="+lrb.getRefId());
System.out.println("Result : "+hQuery.executeUpdate());
tx=hSession.beginTransaction();
tx.commit();
hSession.close();
<强>输出强>
Hibernate: update sample.record set Status='Present' where RefId=100
Result : 9
我犯了错误,我没有在hibernate Update查询中使用该事务,我认为只有Hibernate插入的事务查询。
现在工作正常......
答案 1 :(得分:0)
您是否将该方法设为事务性的?例如:如果使用springframework
,则添加@Transactional注释