[英]Hibernate unidirectional oneToMany FK 0 instead of true ID
我現在正處於休眠狀態,並且與oneToMany關系掙扎了幾天。 我希望有人可以幫助我...
我有2個實體:一個版本和一個更改日志。 一個版本具有更改日志列表。
版本實體:
@Table(name="change_log_version")
@Entity
public class ChangeLogVersionEntity {
...
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name= "version_id")
public List<ChangeLogEntity> changeLogEntities = new ArrayList<>();
...
更改日志實體:
@Table(name="change_log")
@Entity
public class ChangeLogEntity {
...
@Column(name="version_id")
private long versionId;
...
現在我可以:
到目前為止工作正常,只有我的FK不會在更改日志對象中得到更新(請參閱附件)
我找到了解決我的問題的解決方案:為了將版本引用到更改日志中,我將版本的主鍵用作更改日志的外鍵。 我的@oneToMany映射工作正常。 我的更改日志實體包含fk,也導致了我的問題。 fk不應屬於您要由所有者類引用的實體(子代)的一部分。 刪除fk后,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.