在Hibernate框架和json-plugin中的My Java EE Web项目中。我的代码就像这样
private User user;
get(),set()....
public String getUser(){
if(findUser(...) != null){
user = findUser(...);
user.setPasssword("")//!important for the purpose of does not transmit the password to the front
return "success";
} else {
return "error";
}
}
当代码执行数据库中的用户密码被清除时出现问题,我确定任何更新和插入功能都不会被触发。
我想知道为什么?谁能搞清楚并感谢!
答案 0 :(得分:1)
这就像Hibernate这样的ORM的基本原则:您操纵映射到数据库表的对象,并附加到持久会话,并且您对这些对象所做的每个更改都会自动透明地记录在数据库中。
如果您希望更改未在数据库中记录的User对象,则需要首先使用session.evict(user)
从Hibernate会话中分离对象。
你似乎没有掌握Hibernate的基本(和非常重要)原则。阅读excellent documentation。