2012-08-27 37 views
0

我知道,類似的問題存在。 但對於我的情況:我使用GWT 2.4 + JPA 2.0 +(MySQL):GWT + JPA的最佳ID數據類型

什麼是我的表ID的最佳數據類型?

我想避免我的GWT項目中的任何類型轉換。

我的願望是容易,而不是表現。

你是否建議我使用Wrapper類,即長對長?

回答

2

一個簡單而直接的選擇是Long。優先使用包裝類,因此您可以在將對象插入到數據庫之前將id設置爲null(另請參閱Always use primitive object wrappers for JPA @Id instead of primitive type?

如果性能不是高優先級,則可以考慮使用UUID代替:在將對象存儲到服務器端之前,將對象放入集合和映射中會更容易。爲了方便起見,您可以使用字符串來存儲UUID(GWT不支持UUID數據類型),但使用UUID特定的數據類型在數據庫中效率會更高。

0

當然包裝類比原始包裝要好。物體的使用具有許多優點。但在我看來,在這種情況下,類型的最佳選擇是StringLong不適合在GWT開發中使用,因爲JavaScript不具有long的概念。所以建議儘可能避免長時間使用。它在GWT上效仿會影響性能。

+1

好點。但是,用作對象字段時的性能影響可能不是很高(如果客戶端沒有極端數量的對象)。 「模擬長期」效應可能變得非常重要的一種情況是,當你用長時間進行大量數學運算時。 –