JPA報錯 javax.persistence.EntityNotFoundException: Unable to find XX類 with id xx問題


原因:

    無論是@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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM