我正在为一个web应用程序设计一个数据库。我使用Hibernate ORM框架将数据持久化到数据库。
我想知道我应该使用哪种java数据类型来表示id列?在实体中
首先,我创建了具有数据类型int的id列的表,然后我开始感觉长的或者大的十进制更好。
那么哪种数据类型会更好,以及如何做出选择呢?
如果可能的话,我能得到一个建筑或性能视图吗?
发布于 2014-04-26 05:27:32
由于您是从一个新的DB开始的,所以我建议使用long (以便长期支持大量事务)。拥有一个长Id的主要优点如下:
如果您问我,BigDecimal是多余的,因为理想情况下,id不是十进制值,而是整数
发布于 2014-04-26 05:24:40
您可以使用任何想要的数据类型。如果您希望您的Id是字母数字用法,字符串,或者如果您希望它是一个随机或频率数字,则更喜欢长..。
尽管您的模型中甚至不需要像版本字段那样有一个Id字段,但是它将由hibernate来管理,而hibernate在默认情况下是一个运行编号。使用@Id注释。
参考:http://www.techferry.com/articles/hibernate-jpa-annotations.html#Id
还可以使用@GeneratedValue注释指定Id生成策略
@GeneratedValue(strategy = GenerationType.SEQUENCE ,generator="account_user_id_seq")
发布于 2014-04-26 05:37:04
您可以使用Long,这是大多数数据库中整数的默认映射。
https://stackoverflow.com/questions/23311439
复制相似问题