Может ли отношение @ManyToOne JPA быть нулевым?
У меня есть таблица, которая имеет внешний ключ другой таблицы (много к одной связи), но я хочу, чтобы она была nullable.
Что-то вроде этого:
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 и говорит, что подтип не может быть нулевым.
Есть ли способ, чтобы получить ManyToOne принимать значение null?
2 ответов:
Вам нужно установить:
@ManyToOne(optional = true, fetch = FetchType.LAZY)Не
optional=false.
@Column(nullable=true)- это указание генератору DDL включить нулевой тип столбца SQL.Подробнее о необязательной vs nullable проверке это так Ответ.
Comments