我正在尝试在JPA中保存SystemUser实体。我还想保存某些事情,例如谁创建了SystemUser,以及谁也修改了系统用户。
@ManyToOne(targetEntity = SystemUser.class)
@JoinColumn
private SystemUser userWhoCreated;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(iso=ISO.DATE_TIME)
private Date timeCreated;
@ManyToOne(targetEntity = SystemUser.class)
@JoinColumn
private SystemUser userWhoLastModified;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(iso=ISO.DATE_TIME)
private Date timeLastModified;
我还想确保持久化时这些值不为null。因此,如果我使用NotNull JPA注释,那么很容易解决(以及引用另一个实体)
问题描述很简单,如果我要使用DataLoader类来保存JPA实体,我无法在没有rootuser的情况下保存rootuser。其他所有用户都可以使用userWhoModified作为“systemuser”轻松保存,但系统用户自己无法在此方案中添加。
有没有办法坚持这个第一个系统用户(我在想SQL)。这是我想的一个典型的引导(鸡或鸡蛋)问题。
答案 0 :(得分:1)
您是否尝试过rootUser.setUserWhoLastModified(rootUser)
?