2012-09-20 78 views
0

我想用eclipselink來分割我的數據庫。出於性能方面的原因,我將有一個表(實體A)複製到所有節點以及一個表(實體B),它們在所有節點上進行散列分區。我可以避免創建一對一關係的外鍵約束嗎?

由於每次都有用B實體的一比一的關係的EclipseLink上的「A」 - 表列創建一個外鍵約束。因爲不同的分區機制,這contraint將在A.

了很多項目失敗目前實體的屬性可以改變DAYLY,所以我不想錯過DDL代用於測試和開發。

是否可以告訴Eclipse鏈接不是爲了創造這個特定的外鍵?所有的外鍵?

當前測試數據庫是在存儲器HSQLDB。是否有可能告訴數據庫忽略外鍵約束?

回答

1

您可以使用自己的DDL腳本來創建表,或者只是刪除約束與您自己的腳本或本地SQL查詢。

您可以通過繼承數據庫平臺類(並在您的子類中使用「eclipselink.target-database」)來禁用所有約束。

0

如果沒有外鍵沒有任何關係。

或者,您可以將類中的標記爲transient,因此它不受JPA管理。這意味着你將不得不自己檢索合適的b值。

此外,您可以嘗試使字段b爲空(如果JPA支持null=true關係One-to-One關係,我不確定)並檢查發生了什麼。