Hibernate中实体类创建的注意事项
主键类型
自然主键(少见):表的业务中,有某业务列符合,必须有,并且不重复的特征时,该列可以作为主键使用。
代理主键(常见):表的业务中,没有某业务列符合,必须有,并且不重复的特征时,创建一个没有业务意义的列作为主键使用。
主键生成策略
每条记录录入时主键生成规则
identity:主键自增,由数据库维护主键值,录入时不需要指定主键。
increment:主键自增。由hibernate来维护,每次插入前会先查询表中id最大值,+1作为新主键值(实际开发时不用,因为多线程时会覆盖数据,引起冲突)
sequence:Oracle中的主键生成策略。
hilo:高低位算法,由hibernate来维护(实际开发时不使用)
native:hilo+sequence+identity自动三选一策略
uuid:产生随机字符串作为主键,主键类型必须为string类型
assigned:自然主键生成策略:hibernate不会管理主键值,由开发人员自己录入主键。

