基于annotation的hibernate主键生成策略
1、hibernate在JPA的基础上自定义主键生成策略,由注解@GenericGenerator实现。
如下图:
以上代码说明:@GeneratedValue : 表示ID的生成策略,采用paymentableGenerator。常与@Id一起使用
@GenericGenerator:表示该生成策略,使用uuid的方式生成。
GenericGenerator有三个参数,分别为name,strategy和parameters。
name属性指定生成器名称。
strategy属性指定具体生成器的类名。
parameters得到strategy指定的具体生成器所用到的参数。
2、对于这些hibernate主键生成策略和各自的具体生成器之间的关系,在org.hibernate.id.IdentifierGeneratorFactory中或者其实现类中指定,比如在DefaultIdentifierGeneratorFactory中:
如上图,该类注册使用了一些主键生成策略,可以直接调用。
参考:http://blog.****.net/ygj26/article/details/5523781
http://blog.****.net/fancylovejava/article/details/7438660