数据库维护下面三种:
1.identity hibernate底层采用数据库本身自动增长列(SQLServer,Mysql)
2.sequence hibernate底层采用数据库序列(Oracle)
- native 根据底层数据库的能力选择 identity、sequence 或者 hilo 中的一个
hibernate维护下面两种:
4.increment 由hibernate自己维护自动增长
底层通过先查询max值,再+1策略
5.uuid 采用字符串唯一值,由hibernate自己维护
删除数据库,将id的值改成Sring类型测试
开发者维护下面一种:
6.assigned:需要明确赋值
推荐选择数据库自己维护
Hiberante维护测试:
<id name="id" column="id">
<generator class="uuid"></generator>
</id>
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 自增 。
网友评论