2017-04-26 79 views
0

是否可以在Spring Data Gemfire中使用自動生成的ID? 例如,如果我在SimpleGemfireRepository有一個名爲MyGemfireSpring Gemfire實體類ID生成

@region("myregion") 
class MyGemfire{ 

    @Id 
    @generatedValue????// if it is not possible what method I have to use to generate id in auto increment fashion? 
    Long id; 
    String name; 
    ... 
} 

回答

1

從快看一流的IT並不像倉庫已生成ID:

@Override 
public <U extends T> U save(U entity) { 
    ID id = entityInformation.getId(entity).orElseThrow(
     () -> newIllegalArgumentException("ID for entity [%s] is required", entity)); 

    template.put(id, entity); 

    return entity; 
} 

此外,this question and its answer建議有Gemfire本身沒有生成身份證。

所以你應該做的是自己創建你的ID。例如,應該有兩個構造函數可以帶一個ID並且不帶一個ID但是生成它。 A UUID將是明顯的選擇。如果你被綁定到Long的值,你可能不得不推出你自己的算法。

爲了讓Spring Data顯而易見加載實例時使用哪個構造函數,您可以使用@PersistenceConstructor註釋。

+0

謝謝。我使用UUID生成器。 – Ezd