我正在使用Hibernate和JPA。我有一個名爲Customer
引用一個ParentCustomer
實體:如果沒有找到實體的空對象
public class Customer {
@Id
@GeneratedValue
@Column(name = "CustomerID")
private int id;
@ManyToOne
@JoinColumn(name = "ParentCustomerID")
private Customer parent;
// ...
}
但在我的分貝也有一些客戶因此ParentCustomerID
設置爲0
有沒有父。當我測試我的課,我得到的例外是:
javax.persistence.EntityNotFoundException: Unable to find it.keyforup.pat.data.entities.Customer with id 0
有沒有一種方法來設置ParentCustomer
到null
當id爲0
?
你爲什麼說0?如果您希望實體爲null,那麼外鍵值應該爲null。 – 2012-04-27 08:23:20
我正在處理由第三方應用程序使用的數據庫,此應用程序在客戶沒有父級時將父級ID設置爲0 ...所以我會確保每次找不到父級父級'property被設置爲null。 – davioooh 2012-04-27 08:27:08
但是,這不是合法的數據庫行爲。此外,如果暗示嚴格的數據庫限制驗證,他們甚至不能這樣做.. – 2012-04-27 08:30:51