hibernate中主键的生成策略可以分为两种:一种是JPA的通用标准,一种是自定义的生成策略
常用的
1.@Id
@GeneratedValue(strategy=GenerationType.AUTO)//自动根据对应的数据库,生成主键
2.hibernate文档中比较正规的sequence的写法,注意不要忘了generator的定义
@Entity
@javax.persistence.SequenceGenerator(
name="SEQ_STORE",
sequenceName="my_sequence"
)
public class Store implements Serializable {
private Long id;
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_STORE")
public Long getId() { return id; }
}
3.另外一般比较推荐使用的UUID(占内存大点)
@Id
@GenericGenerator(name = "generator_uuid", strategy = "uuid")
@GeneratedValue(generator = "generator_uuid")
附上一个不错的网页