2012-09-10 15 views
1

我應該如何使用UUID和JPA?我應該如何使用JPA保存UUID?

我應該將隨機UUID值分配給我班的字符串字段嗎?或者我應該有一個類型爲UUID的字段,並在我想將其映射到列時執行其他操作?

+0

[用於UUID作爲JPA ID的最佳(最高效)DataType的可能重複](http://stackoverflow.com/questions/730788/best-most-efficient-datatype-to-use-for-uuids -as-jpa-id) –

+0

@MattBall>然而,你的編碼效率會受到影響,因爲你必須編寫一個自定義類型。他什麼意思? – LuckyLuke

+0

我認爲@MattBall引用的帖子的作者在說'編碼效率會受影響'時,意味着每個使用UUID鍵的實體都需要zaske鏈接文章中提到的那種類型轉換器。因此,這些實體必須由開發人員創建,而不是由於使用自定義類型轉換器而生成。 – MarkOfHall

回答

2

這取決於數據庫。
有支持uniqueidentifer類型的數據庫,如H2,MSSQL和PostgreSQL。
對於這些類型,您可以擴展提供的方言(即 - PostgreSQLDialect)並添加新類型的處理。
對於MSSQL和Postgresql,我都是基於以下post實現的。
對於不支持uniqueidentifier/UUID類型的數據庫,應該使用String。
這意味着您還應該問問自己,您的應用程序是否必須支持多個數據庫供應商,或者如果您可以堅持單個供應商
(然後選擇第一個選項(如果適用))。

相關問題