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