1 java类型 hibernate类型 sql类型的对应关系
2 cascade取值
3 session的缓存
当session 的save()方法持久化一个customer对象时,customer对象被加入到session的缓存中,以后即使应用程序中的引用变量不再引用customer对象,只要session的缓存还没有清空,customer对象仍然处于生命周期中。
当session的load方法试图从数据库中加载一个customer对象时,session 先判断缓存中是否已经存在这个customer对象,如果存在,就不需要再到数据库中检索。
4 session缓存的作用
(1) 减少数据库访问频率。应用程序从内存中读取持久化对象的速度显然比盗数据库中查询数据的速度快多了,因此session的缓存可以提高数据访问的性能。
(2)保证缓存中的对象与数据库中的相关记录保持同步。当缓存中持久化对象的状态发生了变化,session不会立即执行相关的SQL语句,这使得session能够把几条相关的SQL语句合并为一句SQL语句,以便减少访问数据库的次数,从而提高应用程序的性能。
5 session清理缓存的时间点
(1)当应用程序调用commit()方法的时候,commit方法先清理缓存,再想数据库提交事务
(2) 当应用程序显式调用session的flush()方法的时候
6 hibernate中Java对象的三种状态