数据库中的主键我们通常会使用序列去生成,但是使用序列有个很恶心的地方,比如在生产环境我需要初始化一些数据,在处理这些数据的主键时非常麻烦,所以不推荐使用,推荐使用uuid,无论初始化数据还是程序中新增数据都很方便。
uuid为jdk中自带的工具类,获取的方法为
public static void main(String[] args) {
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
System.out.println(uuid);
}
需要出示化数据时,直接多生成一些作为主键,而不用考虑冲突问题。
在hibernate中的使用方式为
<id name="id" column="ID">
<generator class="uuid"></generator>
</id>
实体类中的定义为 private String id;
还有其他一些获取主键的方式,网上可以查到,但是比较推荐这种方式。