Hibernate主键策略

数据库维护下面三种:
1.identity hibernate底层采用数据库本身自动增长列(SQLServer,Mysql)
2.sequence hibernate底层采用数据库序列(Oracle)

  1. native 根据底层数据库的能力选择 identity、sequence 或者 hilo 中的一个
    hibernate维护下面两种:
    4.increment 由hibernate自己维护自动增长
    底层通过先查询max值,再+1策略
    5.uuid 采用字符串唯一值,由hibernate自己维护
    删除数据库,将id的值改成Sring类型测试
    开发者维护下面一种:
    6.assigned:需要明确赋值

推荐选择数据库自己维护
Hiberante维护测试:




public void addMyUser(){
Session session = HibernateUtils.openSession();
Transaction transaction = session.beginTransaction();
MyUser myUser = new MyUser();
myUser.setUsername("2222");
myUser.setPassword("不二");
session.save(myUser);
transaction.commit();
session.close();
}


image.png

但是我们一般都选择第一种方式
identity hibernate底层采用数据库本身自动增长列(SQLServer,Mysql)

在主键部分加上下面的属性:


image.png

当我们添加新的记录的时候 id 自增 。

你可能感兴趣的:(Hibernate主键策略)