Hibernate小结

hibernate原理:

hibernate是持久层框架,是一个全自动的ORM框架,直接使用操作对象的方法操作数据库,简化dao层。

hibernate流程:

1.使用Configuration读取配置创建一个session工厂
2.session工厂创建一个seesion对象
3.session对象和它创建Query/Criteria都可以操作数据库
4.Transcation 用于管理事务

查询方式:

HQL查询
调用方法Query,必须写相应的HQL查询语句
Criteria查询:
调用方法list/iterator,直接把实体类对象放入类中,省略了查询语句。
离线查询即不通过session创建查询对象
原生SQL:
总结:
HQL语句必须写相应的HQL查询语句,而Criteria 语句直接把实体类对象放入类中,省略了查询语句。

对象状态:

瞬时(一个对象刚创建的时候,没有纳入session管理)
持久化(有id,在session中,被session管理)
游离/托管(有这个对象的存在,但不被seesion管理,不能保持同步更新)

一对多、多对多:

一对多(表中:使用外键。实体中:使用集合-属性方式表达)
多对多(表中:创建一个新表包涵两个表的外键。实体中:两方都是用集合表示拥有多个对方)
inverse:关系维护指定一方维护
Cascade:级联操作

缓存:

一级缓存是Session,当Session做了一个查询操作,那么查询出的结果放到一级缓存中,如果短时间内又做了一个相同的操作,那么就会去缓存中取数据,处在一级缓存的对象永远不会过期,除非应用程序清空缓存.

延迟(懒)加载:

lazy(flase 表示立即加载,true 表过延迟加载)

常用主键生成策略:

identity(自增)
uuid(随机字符串)
assigned(手动)
native(自动)

原文地址:https://www.cnblogs.com/fengnan/p/9609355.html