[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,而不会报错了。

相关文章
相关标签/搜索