我是 hibernate 的新手,我试图用以下代码更新映射对象,但它没有更新
factory = config.buildSessionFactory();
session = factory.getCurrentSession();
Transaction t = session.beginTransaction();
String hql = "UPDATE "+tableName+" SET "+columnName+" = '"+columnValue+"' WHERE id ="+id+";";
Query query=session.createSQLQuery(hql);
t.commit();
我错过了什么吗?它不会崩溃,也不会更新记录。
注意:我正在使用 Hibernate3 和 Mysql
最佳答案
你缺少query.executeUpdate()
;
此外,如果您要更新映射对象,我建议您对 java 对象进行更改,然后让 Hibernate 为您进行更新。或者至少使用 hql 查询,而不是本地查询。
确保您的 persistence.xml 文件已将 show_sql 设置为 true 并查看日志以查看更新是否已执行。
<property name="hibernate.show_sql" value="true"/>
关于java - hibernate 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759094/