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