首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

实体id有关问题

2012-03-24 
实体id问题项目中一般都要根据主键操纵实体。之前都是用了自增长的id(sqlserver,mysql)。但是正式项目都不是

实体id问题
项目中一般都要根据主键操纵实体。之前都是用了自增长的id(sqlserver,mysql)。但是正式项目都不是这么做的(听说叫什么uuid?)。那id要怎么生成呢?而且hibernate里貌似id都是映射到自增主键。那实际操作就舍弃该主键用自己定义的?

[解决办法]
import org.doomdark.uuid.UUID;
 import org.doomdark.uuid.UUIDGenerator;

UUIDGenerator generator = UUIDGenerator.getInstance();
UUID uuid = generator.generateRandomBasedUUID();
[解决办法]
id要用,这个id只是数据的标识,使用它查询是非常快,但是这个id是隐试调用的,不要用于用户指定。别外,也要生成一个字符串(TID)的,这个是给用户用于指定数据的查询用,有一定的含意在里面,也可以用于后期的分库用。如:1120315....,这样的话就能通过TID来大概了解订单的创建时间或其他信息,用于显示调用,效率会比id慢。一般来说TID,TID与id最好都有。
[解决办法]
两者不冲突,可以都用。

热点排行