2010-06-05 22 views

回答

4

不是真的,但密鑰保證是唯一的,您可以將實體的密鑰設置爲任意字符串。將實體保存到數據存儲區時,您可以利用此功能創建唯一的密鑰。例如,

public class Entity implements Serializable { 

    @Id String id; 

    String unique_together_1; 
    String unique_together_2; 

    public Entity (String unique_together_1, String unique_together_2) { 

    this.id = unique_together_1 + "-" + unique_together_2; 
    this.unique_together_1 = unique_together_1; 
    this.unique_together_2 = unique_together_2; 
    } 

顯然,這不會,如果你的實體變化後,或者獨特的領域,你需要一個單一的實體類型的多個唯一約束工作。

+2

這是一個好主意。如果你這樣做的話,當你把()一個與'unique_together1'和'unique_together_2'共享的對象時,它會簡單地覆蓋數據存儲中的任何現有對象。您可能希望使用事務來檢查其密鑰是否已存在於數據存儲中,如果不是,則將其添加。 – 2010-06-05 16:08:22