原因:
無論是@OneToOne 還是@ManyToOne,出現這個原因都是因為子表(被關聯表)中沒有主表(關聯表)中ID所對應的記錄。
解決辦法:
1. 檢查為什么子表中沒有主表中ID對應的記錄
2. 如果子表中沒有主表ID對應的記錄也可以正常加載數據,那么需要在主表字段上加一個@NotFound Annotation。示例如下:
@OneToOne(optional=true )
@JoinColumn(name="companyId",insertable=false, updatable=false)
@NotFound(action=NotFoundAction.IGNORE)
private Company company;
這樣,當子表中沒找到數據時,主表中對應的field就是null,而不會報錯了。
————————————————
版權聲明:本文為CSDN博主「xinjiatao」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xinjiatao/article/details/84920197