我有一个mysql 5 dB和一个冬眠4应用
我使用此方法更新某个实体
public void executeNamedQuery(String namedQuery,Map params) {
if(params != null){
try{
getSession().getNamedQuery(namedQuery).setProperties(params).executeUpdate();
getSession().flush();
} catch (Exception e){
e.printStackTrace();
}
}
else{
getSession().getNamedQuery(namedQuery).executeUpdate();
}
}
这就是调试器写的
Hibernate: update announcement set status=?, dcp_id=? where announcement_id=?
,当我打开mySQL日志表时,我在
中的查询中找到了此查询update announcement set status=-6, dcp_id=149714 where announcement_id=81
但是该行没有更新,当我在Workbench中这样做时,它可以正常工作。
在这里可能导致问题?
我不知道executeNamedQuery
是什么,但是您的更改似乎并未投入到数据库中。在这种情况下