經過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,而不會報錯了。