【发布时间】:2020-12-20 18:13:54
【问题描述】:
我有一个实体,依赖于哪个 hibernate 能够为 OneToMany-relations 生成连接表。
@Entity
public class RequestType extends EntityObject {
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "MType_MType", joinColumns = @JoinColumn(name = "mtype_id"),
inverseJoinColumns = @JoinColumn(name = "inner_request_types_id"))
private List<LogicalInnerType> innerRequestTypes;
}
@Entity
public class EntityObject {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EntityID")
private Integer id;
}
但是当我运行应用程序时,我收到以下异常:
PSQLException: EROOR: "inner_request_types_id" 列中的空值违反约束 NOT NULL
据我所知,任何 JoinColumn 都有一个默认为 nullable-parameter 的 true。
否则我怎么能放弃非空约束?
【问题讨论】:
-
如果有空值,连接表的行应该是什么目的?
-
在我看来,空值一开始就不应该存在。我会删除它们并保留约束
-
你删除它们是什么意思?...