[JPA] javax.persistence.EntityNotFoundException處理

經過hibernate映射關係加載數據時遇到了以下錯誤: javax.persistence.EntityNotFoundException: Unable to find 對象名 with id xxxxx。java


緣由:.net

    不管是@OneToOne 仍是@ManyToOne,出現這個緣由都是由於子表(被關聯表)中沒有主表(關聯表)中ID所對應的記錄。hibernate


解決辦法:對象

    1. 檢查爲何子表中沒有主表中ID對應的記錄get

    2. 若是但願子表中沒有主表ID對應的記錄也能夠正常加載數據,那麼須要在主表字段上加一個@NotFound  Annotation。示例以下:it

    @OneToOne(optional=true )io

    @JoinColumn(name="companyId",insertable=false, updatable=false)table

    @NotFound(action=NotFoundAction.IGNORE)數據

    private Company company;tab

    這樣,當子表中沒找到數據時,主表中對應的field就是null,而不會報錯了。

相關文章
相關標籤/搜索