Hibernate学习-10:持久化类、主键生成策略
来源:互联网 发布:京东和淘宝联盟类似 编辑:程序博客网 时间:2024/05/17 13:13
持久化类:实体类+映射文件
持久化类是有编写规范:
* 提供一个无参数 public访问控制符的构造器 :用到反射.
* 提供一个标识属性,映射数据表主键字段 :
* java区分两个对象是否是同一个使用 地址.
* 数据库区分两条记录是否一致:使用 主键.
* Hibernate中区分持久化对象是否是同一个,根据唯一标识:
* 所有属性提供public访问控制符的 set get 方法 :框架中存值和取值的时候使用.
* 标识属性应尽量使用基本数据类型的包装类型
* 使用基本数据类型:
* 成绩表:
学号 姓名 成绩
1 张三 null
* 持久化类尽量不要使用final进行修饰 :
* 用final修饰的类是不能被继承.无法生成代理对象.(延迟加载的时候返回代理对象.延迟加载就失效.)
建表的时候:
* 自然主键和代理主键:
* 自然主键:
* 创建一个人员表.人员表中某条记录唯一确定.人都有身份证号.我们可以使用身份证号作为主键.(身份证号本身就是人员的一个属性.作为主键.)
* 代理主键:
* 创建一个人员表.人员表中某条记录唯一确定.但是没有使用身份证号作为主键,新建字段(用新建的字段作为主键.只是一个标识作用.)
* 尽量要Hibernate自己去维护主键:
* 主键的生成策略:
* increment :自动增长.适合 short int long...不是使用数据库的自动增长机制.使用Hibernate框架提供的自动增长方式.
* select max(id) from 表; 在最大值的基础上+1.(多线程的问题.)在集群下不要使用
* identity :自动增长.适合 short intlong...采用数据库的自动增长机制.不适合于Oracle数据库.
* sequence :序列.适用于 short int long ... 应用在Oracle上.
* uuid :适用于字符串类型的主键.采用随机的字符串作为主键.
* native :本地策略.底层数据库不同.自动选择适用identity 还是 sequence.
* assigned :Hibernate框架不维护主键,主键由程序自动生成.
* foreign :主键的外来的.(应用在多表一对一的关系.)- Hibernate学习-10:持久化类、主键生成策略
- Hibernate持久化类与主键生成策略
- Hibernate持久化类与主键生成策略
- hibernate_持久化类、主键生成策略
- hibernate学习笔试10 主键生成策略
- Hibernate学习:主键生成策略
- hibernate之持久化类,主键生成策略,事务,缓存,查询api(02)
- Hibernate持久化类、主键生成策略、持久户对象、一级缓存、事务和五种检索方式
- Hibernate的主键生成策略学习笔记
- Hibernate学习之主键生成策略
- hibernate主键生成策略
- Hibernate 主键生成策略
- Hibernate 主键生成策略
- hibernate 主键生成策略
- Hibernate 主键生成策略
- Hibernate 主键生成策略
- Hibernate 主键生成策略
- hibernate主键生成策略
- 最小费用流
- Android历史搜索
- 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file in
- 反向传播算法(backPropagation,简称BP算法)
- ISO8859-1、utf-8、gb2312
- Hibernate学习-10:持久化类、主键生成策略
- three.js 动画效果01
- hdu 3038 How Many Answers Are Wrong (带权并查集入门)
- JSP_4th_编译指令include
- LDAP认证的两种方式
- 绘制简易窗口
- Nginx安装
- 递归算法反序输出字符串
- leetcode 504. Base 7(easy)