我試圖在JPA中保存一個SystemUser實體。我也想保存某些東西,比如誰創建了SystemUser,誰最後修改了系統用戶。JPA中的自引用對象
@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;
我也想確保這些值在持續時不爲空。因此,如果我使用NotNull JPA註釋,這很容易解決(並參考另一個實體)
問題描述很簡單,如果我要使用DataLoader類來在系統中沒有rootuser,則無法保存rootuser堅持JPA實體。以後的每個用戶都可以輕鬆地使用userWhoModified作爲「systemuser」,但systemuser自身不能添加到此方案中。
有沒有辦法堅持這第一個系統用戶(我在用SQL思考)。這是一個典型的bootstrap(雞或蛋)問題,我想。
不應該是社區維基 – Bozho 2010-05-25 15:49:57
@Bozho LOL,我第一次看到反社區wiki警察:) – 2010-05-25 15:53:39