Java EntityManager合并和@PrePersist
我使用这一行来合并:Java EntityManager合并和@PrePersist,java,entity,entitymanager,Java,Entity,Entitymanager,我使用这一行来合并: partner = em.merge(partner); 这是在我的实体中: @PrePersist public void updateModificationDate(){ this.lastModificationDate = new Date(); } 如你所见,我想了解实体上次更改的时间 但是这个方法从来没有被调用过 有人知道我能做什么吗?你可以阅读并发现为什么不叫预科生。另外,我认为您可以使用@Version注释来保留实体的最后修改日期。您可以阅读并
partner = em.merge(partner);
这是在我的实体中:
@PrePersist
public void updateModificationDate(){
this.lastModificationDate = new Date();
}
如你所见,我想了解实体上次更改的时间
但是这个方法从来没有被调用过
有人知道我能做什么吗?你可以阅读并发现为什么不叫预科生。另外,我认为您可以使用
@Version
注释来保留实体的最后修改日期。您可以阅读并发现为什么不调用Preperist。此外,我认为您可以使用@Version
注释来保留实体的上次修改日期。您可以向实体添加以下注释:
@EntityListeners(SaveOrUpdateDateListener.class)
实际上,听众应该是:
public class SaveOrUpdateDateListener {
@PrePersist
@PreUpdate
public void setDate(final CertApplication entity) {
final Date now = new Date();
entity.setUpdated(now);
}
}
可以将以下注释添加到实体中:
@EntityListeners(SaveOrUpdateDateListener.class)
实际上,听众应该是:
public class SaveOrUpdateDateListener {
@PrePersist
@PreUpdate
public void setDate(final CertApplication entity) {
final Date now = new Date();
entity.setUpdated(now);
}
}
尝试强制em.flush(),但我不确定强制刷新是否是一种好做法。尝试强制em.flush(),但我不确定强制刷新是否是一种好做法。但我想使用日期作为lostmodificationdate。我如何解决这个问题?可以这样使用日期:
@Version@Temporal(TemporalType.TIMESTAMP)@Column(name=“UPD\u ON”,nullable=false)private Date updateon代码>但我想使用日期作为lostmodificationdate。我如何解决这个问题?可以这样使用日期:@Version@Temporal(TemporalType.TIMESTAMP)@Column(name=“UPD\u ON”,nullable=false)private Date updateon代码>