我有一个表具有另一个表的外键(许多关系),但我希望它可以为空。
像这样:
public class SubType() { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String id; } public class TopUp { @Column(nullable = true) @ManyToOne(optional = false, fetch = FetchType.LAZY) private SubType subType; }
但是@Column(nullable = true)抛出NullPointerException和表示子类型不能为null。有什么办法可以使ManyToOne接受null?
@Column(nullable = true)
NullPointerException
您需要设置:
@ManyToOne(optional = true, fetch = FetchType.LAZY)
不optional=false。
optional=false
该@Column(nullable=true)是指示DDL生成工具,包括NULLSQL列类型约束。
@Column(nullable=true)
NULL