get方法 load方法
get 直接发起sql语句
get如果查询的oid不存在 返回null
load 使用懒加载(延迟加载) 产生是一个代理对象 属性oid
load如果查询的oid不存在 跑出 找不到行异常
一个使用懒加载一个不使用懒加载
一个报错一个不报错
面向对象的三种运行状态
对象的三种状态
瞬时态
持久态
游离态
瞬时态:瞬时态new产生的对象 没有跟数据库关联的状态--->持久态:持久态 和数据库绑定--->游离态:已经和数据库保持关系的状态 通过session的关闭 变成游离态
一对多 多对一
Hibernate 查询语言:
Hibernate查询语言(HQL)是一种面向对象的查询语言,类似于SQL,
但不是去对表和列进行操作,而是面向对象和它们的属性。 HQL查询被 Hibernate
翻译为传统的 SQL查询从而对数据库进行操作。
hsql 查询语句
?是jdbc传参的方式 通过位置 jdbc从1开始hibernate 0 开始
:名称方式通过设置键值对传参
Hibernate缓存
一级缓存同一个session
二级缓存同一个SessionFactory 二级缓存模式是关闭
查询缓存关系 查询无法预知查询数据量的大小 经常会有性能问题