一尘不染

@ManyToOne JPA关系可以为空吗?

hibernate

我有一个表具有另一个表的外键(许多关系),但我希望它可以为空。

像这样:

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?


阅读 822

收藏
2020-06-20

共1个答案

一尘不染

您需要设置:

@ManyToOne(optional = true, fetch = FetchType.LAZY)

optional=false

@Column(nullable=true)是指示DDL生成工具,包括NULLSQL列类型约束。

2020-06-20