Hibernate1
来源:互联网 发布:淘宝买烟花 编辑:程序博客网 时间:2024/05/21 08:45
O/R Mapping
- 对象-关系映射是一门非常实用的工程技术,它实现了java应用中的对象关系数据库中的表的自动的持久化,使用元数据描述对象与数据库间的映射
- 优点:提高生产率
- 可维护性
- 更好性能
Hibernate
- 特点:开放源代码的对象/关系映射持久层框架
- 事务处理,生命周期不依赖于J2EE容器
- 解决数据库的方言问题
- hibernate只需要操作对象就可以完成数据库的增删改查操作,使用hibernate更面向对象
- 轻量级,无侵入性,移植性好
- 缺点:不适用范围-
- 批量对对象进行操作时
- 使用数据库特定映射
- 表间关系很复杂时会造成性能问题
主键生成策略
- increment 自动增长,不能用于集群
- identity 自动增长
- sequence oracle专用
s_cust_id
- uuid 生成速度快,但查找相对较慢
- native 根据方言描述,决定采用identify或者sequence
- assigned 手动分配主键,当generator没有设置时,采用这种方式
- select 使用触发器分配主键
- foreign 使用另外一个相关联的对象的标识符
对象状态
- 瞬时状态 transeient: 当生成po对象时产生,数据库中还没有相关记录,没有session对其进行管理
- 持久状态 persistant:当session调用saveorupdate()时,数据库中有与之相对应的记录,有session进行管理,当po对象的值发生变化时,session对象让数据库记录与之同步
- 游离状态:当session事务提交时,数据库中有与之相对应的记录,从session一级缓存中清除,session不再进行管理
get和load的区别
- get为立即加载,调用get方法,会马上执行sql语句,将结果查询出来
- load为延迟加载,调用load方法时,不会马上查询结果,而是当查询出来的对象在使用时,才发出sql语句的查询结果;
- 当查询的主键不存在时,get方法返回空,load方法会抛出对象查找不到异常;
- 对延迟加载而言,一旦查询的对象不适用,不会真正的去查询,这时如果session关闭,再使用查询对象,那么会抛出赖加载异常 org.hibernate.LazyInitializationException
0 0
- hibernate1
- Hibernate1
- hibernate1
- Hibernate1
- Hibernate1
- Hibernate1
- hibernate1
- Hibernate1
- Hibernate1 Xdoclet
- Hibernate1--简介
- hibernate1.1
- hibernate1.2
- Hibernate1(入门)
- Hibernate1基本知识点
- Hibernate1之例子
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hibernate1.user' doesn't exist
- Android 单选按钮RadioButton的使用
- POJ 2377 Bad Cowtractors (最大生成树)
- Java基础之集合框架
- java面向对象
- 搜索引擎(一)-- 初识
- Hibernate1
- QT工程集成配置
- Light 1078 Integer Divisibility (取模运算)
- protoc编译proto文件之Java源码结构分析三(示例Demo)
- Hibernate2
- iOS花式更改系统自带UINavigationBar导航栏样式,让你拥有更纯净,更强自定义的导航栏!!!It's amazing
- GMAP 开源代码如何编译
- poj 3384
- 剑指offer 代码实现 C++