hibernate是基于orm全自动的持久层的框架
Hibernate的持久化对象状态:
瞬态:对象由new操作符创建,尚未与Session关联的对象被认为处于瞬态.瞬态对象不会持久化到数据库中,也不会被赋予持久化标识.
持久化状态:持久化实例在数据库中有对应的记录,并拥有一个持久化标识,持久化对象必须与指定的Session关联,Hibernate会检测到处于持久化状态对象的改动,在当前操作完成时将对象数据写回数据库,开发者不用手动执行Update更新数据库
游离状态:某个实例曾经处于持久化状态,但随着与之关联的Session被关闭,该对象就变成游离状态.托管对象的引用依然有效,对象可继续被修改.如果重新让游离对象与某个Session关联,该对象将重新转换为持久化状态,而游离期间的改动也可被写入数据库
hibernata的缓存机制:
默认开启一级缓存 session级别
加载:
延时加载:
延时加载是Hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据才会从数据库加载