问题: 如何检查用 注释的方法内哪些字段已更改@PreUpdate?
可选:如果上述问题的答案是“不可能,那么也许还有其他方法可以解决我的问题”
我希望modified Tourist每次更改其中的内容时自动更新的字段。
除了我们只修改的情况location。意味着如果我们location只改变——它应该被坚持,但modified不能改变。
已经存在的代码:
@Entity
public class Tourist {
private long id;
private String firstName;
private String lastName;
private Date created;
private Date modified;
private String location;
@PreUpdate
public void preUpdate() {
modified = new Date(); //PROBLEM : change modified even if only location field has been changed!
}
....
}
Run Code Online (Sandbox Code Playgroud)
更新:经过一些调查,我发现我可以在拦截器的帮助下解决它(扩展EmptyInterceptor):
public class TouristInterceptor extends EmptyInterceptor{
Session session;
private Set updates …Run Code Online (Sandbox Code Playgroud)