Can a @ManyToOne JPA relation be null?
46,947
Solution 1
You need to set:
@ManyToOne(optional = true, fetch = FetchType.LAZY)
not optional=false
.
The @Column(nullable=true)
is to instruct the DDL generation tool to include a NULL
SQL column type constraint.
For more on optional
vs nullable
, check out this StackOverflow answer.
Solution 2
try this:
@JoinColumn(name = "subType_id", nullable = true)
Comments
-
Narges almost 2 years
I have a table that has foreign key of another table (many to one relationship) but i want it to be nullable.
Something like this:
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; }
But
@Column(nullable = true)
throws theNullPointerException
and says subtype can not be null. Is there any way to get the ManyToOne accept null?