我有一个类似以下的类配置(只是一个示例,并非实际含义)-
public class payment
{
@Id
@Column("payment_id")
private int paymentId;
@ManyToOne
@JoinColumn(name ="")
private Fine fine;
//getter setter and other stuff
}
public class Fine{
@Id
@Column("fine_id")
private int fineId;
@Column("amount")
private int fineAmount;
//other stuff
}
我收到org.hibernate.ObjectNotFoundException: No row with the given identifier exists
错误消息。根据{{3}},这是因为外键不能具有null
的值,但是我的数据库包含null
。我无法更改数据库或项目结构,因此有什么办法可以使我合法地向我的外键发出null
值,即不创建异常。
答案 0 :(得分:0)
使用@Column(nulable = true)
用于创建DDL脚本,未带来所需的行为。
您需要将@ManyToOne
标记为可选。
@ManyToOne(optional = true)