org.hibernate.AssertionFailure:具有 OneToMany/ManyToOne 关系的空标识符

use*_*440 5 hibernate hibernate-onetomany

我对 OneToMany/ManyToOne 关系有疑问:

班级项目:

@OneToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL,
orphanRemoval=true )
@JoinColumn(name="PROJECT_ID", nullable=true)
private Set<Person> personlist = new HashSet<Person>();
Run Code Online (Sandbox Code Playgroud)

班级人物:

@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "PROJECT_ID") 
private Project project;
Run Code Online (Sandbox Code Playgroud)

只要至少有一个人连接到数据库中的项目,一切都会正常工作。如果我创建一个新项目并且数据库中没有人,我会收到一个休眠异常:

org.hibernate.AssertionFailure: null identifier
Run Code Online (Sandbox Code Playgroud)

我已经为项目类设置了 nullable=true 但这不起作用。有人有想法吗?

jus*_*tMe 0

不确定这是否有帮助尝试@ManyToOne(fetch = FetchType.LAZY,cascade = CascadeType.ALL,Optional = true)