hibernate学习笔记

1.阻抗不匹配(模型不匹配)

关系模型与对象模型之间不能完全的对应起来

解决方法:

         a.使用JDBC手工转换

         b.使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有hibernate等

2.关于使用hibernate时Domain Object限制:

        默认的构造方法——必须的

        有无意义的标识符id(主键)——可选的

        非final的,对懒加载有影响——可选的

         对象模型有getter和setter方法

3.hibernate的session

执行一些数据库操作语句

4.Class

class方法能获取整个class属性,方法等

5.session中save和persist区别

save在没开启事物的时候会执行数据操作,persist在没开启事物的时候不会执行数据操作。persist相当于重新请求

6.hibernate中对象的状态

  a.瞬时(transient):数据库中没有数据与之对应,超过作用域会被JVM垃圾回收器回收,一般是new出来且与session没有关联的对象爱

  b.持久(persistent):数据库中有数据与之对应,事物没有提交,当前与session有关联,并且关联的session没有关闭,事物没有提交;持久对象状态发生改变,在提交事物时会影响到数据库(hibernate能检测到)

  c.脱管(detached):数据库中有数据与之对应,但当前没有session与之管理;托管对象状态发生改变,hibernate不能检测

  判断是瞬时状态还是托管状态常常通过id是否有值进行判断

相关推荐