我知道,周围有类似的问题。但就我而言:我使用 GWT 2.4 + JPA 2.0 + (MySQL):
我的表 ID 的最佳数据类型是什么?
我想避免在我的 GWT 项目中进行任何类型转换。
我的愿望是轻松,而不是性能。
你建议我使用包装类,即长与长吗?
一个简单直接的选择是Long
。更喜欢使用包装类,因此您可以在将对象插入数据库之前将 id 设置为 null(另请参阅Always use original object wrappers for JPA @Id instead of original type?)
如果性能不是高优先级,您可以考虑使用 UUID:这使得将对象放入集合和映射中变得容易得多 - 在它们存储在服务器端之前。为方便起见,您可以使用字符串来存储 UUID(GWT 不支持 UUID 数据类型),尽管在数据库中使用特定于 UUID 的数据类型会更有效。
当然,包装器类比原语更好。使用对象有很多优点。但在我看来,在这种情况下最好的类型选择是 class String
。Long
不希望在 GWT 开发中使用,因为 JavaScript 没有long
. 所以建议尽可能避免使用 long 。它在 GWT 上模拟它会影响性能。