Hibernate(2) 序

1.阻抗不匹配

Java是面向对象语言、对象模型,其主要概念有:继承、关联、多态

数据库是关系模型,其主要概念有:表、主键、外键等

2.解决办法

1.用JDBC转换

2.使用ORM(object relation mapping对象关系映射)框架来解决,主流ORM框架有hibernate、Toplink、OJB

三、

  1.domain对象必须有一个无参构造器

  2.domain对象如果用final,懒加载就不能用了,load时会产生对象的子类

  3.实体类映射文件(主键、主键生成器、属性名、字段名)

  4.save和persist,当没开启事务时,save先插入,再回滚。而persist根本不会插入。

  5.saveOrUpdate、merge

四、saveOrUpdate、merge

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

2.持久:数据库中有数据与之对应,之前与session有关,并且相关联的的session没有关闭,事务没有提交。持久对象状态的发生改变,在事务提交时会影响到数据库

3.托管:数据库中有数据与之对应,但当前没有session与之关联,托管对象状态发生改变,hibernate检测不到。

 

 五、异常

1.表名和字段名冲突,自定义表名和字段名或用反引号

六、hql查询和条件查询

 

 
posted on 2013-06-01 00:06  洛易  阅读(205)  评论(0编辑  收藏  举报