[英]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.