Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @ManyToOne JPA关系是否可以为空?_Java_Hibernate_Jpa_Hibernate Mapping_Many To One - Fatal编程技术网

Java @ManyToOne JPA关系是否可以为空?

Java @ManyToOne JPA关系是否可以为空?,java,hibernate,jpa,hibernate-mapping,many-to-one,Java,Hibernate,Jpa,Hibernate Mapping,Many To One,我有一个表,它具有另一个表(多对一关系)的外键,但我希望它可以为null 大概是这样的: public class SubType() { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String id; } public class TopUp { @Column(

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

大概是这样的:

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。 有没有办法让ManyTone accept为空?

您需要设置:

@ManyToOne(optional = true, fetch = FetchType.LAZY)
not
可选=false

@列(nullable=true)
用于指示DDL生成工具包含
NULL
SQL列类型约束

有关
可选
可空
的更多信息,请查看。

尝试以下方法:

@JoinColumn(name = "subType_id", nullable = true)
只有这对我有帮助:

public class TopUp {
    @ManyToOne
    @JoinColumn(columnDefinition="integer", name="subtype_id")
    private SubType subType;
}
columnDefinition是一个解决方案