hibernate(2) —— 主键策略
2024-10-19 03:24:16
框架提供了三种主键生成方式,一种是由用户自己维护,一种是由hibernate框架维护,另一种是由数据库维护。
自己维护就是在插入数据的时候,一定要指定主键的值,否则会出错,如果由框架维护和由数据库维护,则主键的值不需要我们给,它们自动会给我们填上。
主键的生成方式在对应的.hbm.xml文件中主键字段id标签中指定。
assigened:表示由用户自己维护,在插入数据的时候,一定要给定主键值。
控制台打印出来的创建语句如下:
create table t_user (
usercode varchar(32) not nullauto_increment,
userpswd varchar(20) not null,
username varchar(255),
regdate varchar(19),
orgtype varchar(1),
primary key (usercode)
)
native:表示由数据库自动生成主键。
注意:主键类型不能是字符串类型,一般是int类型的
uuid:框架为我们维护主键
create table t_user (
usercode varchar(32) not null,
userpswd varchar(20) not null,
username varchar(255),
regdate varchar(19),
orgtype varchar(1),
primary key (usercode)
)
自动插入的是32位十六制数组成的字符串形式
这三种主键生成策略常用的是uuid,根据硬件信息和时间信息等生成的。另外native不建议使用,原因是数据库主键设计应该采用与业务无关的字段作为主键。
最新文章
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
- jQuery插件:jqGrid使用(一)
- div文字超出
- URLConnection 和 HttpClients 发送请求范例
- Struts登录
- 常用的PC/SC接口函数
- Java学习日志-01-Hello World
- 交互式shell和非交互式shell、登录shell和非登录shell的区别
- SQL Server select into/bulkcopy用法
- Interpreter Expression 解释器模式
- UVa 10256 The Great Divide,推断两个凸包是否相离
- 关于document.write()重写页面
- Spring mvc 简单异常配置jsp页面
- 数据库基础——(SQLserver)约束
- java properties 对list的支持
- DOM4J介绍与代码示例
- Ubuntu下解决解压zip文件中文文件名乱码问题
- ES6块级作用域
- ActionBar+Fragment实现顶部标签页
- 100-days: twenty-nine