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