Hibernate点滴

在Hibernate3中,Session接口中被废弃的方法包括:

1.执行查询的方法:find()、iterate()等。

Hibernate3一律采用createQuery()方法来执行所有的查询语句。session.createQuery(...).setString("newName",newName).executeUpdate();session.createQuery(...).list();

 

类级别的延迟检索是用到了代理类机制。

不管Customer.hbm.xml文件的<class>元素的lazy属性是true还是false,Session的get()方法及Query的list()方法在Customer类级别总是使用立即检索策略。

<set>元素来配置一对多关联。该元素有lazy和fetch属性

lazy属性:主要决定orders集合被初始化的时机

fetch属性:取值为“select”或"subselect"时,决定初始化orders集合时的查询语句形式:如果取值为“join”,则决定orders集合被初始化的时机。

注意:如果fetch属性设为join,那么lazy属性被忽略,此时显式设置lazy属性是无意义的

注意:Query的list()方法会忽略映射文件中配置的迫切左外连接检索策略。即,即使<set>的fetch属性设为jon,调用list()时,还是延迟检索。

posted on 2014-02-10 22:32  教父归来  阅读(113)  评论(0)    收藏  举报