读书人

Hibernate的检索形式

发布时间: 2013-04-07 12:50:11 作者: rapoo

Hibernate的检索方式
检索方式1)导航对象图检索方式

customer.getOrders().iterator();


2)OID检索方式

session.get()、load();


3)HQL检索方式

Iterator customers = query.iterate();while(customers.hasNext()){    Customer cus = (Customer) customers.next(); //1    String name = cus.getName();}
执行到customers.next()时,先查session缓存,如果缓存中已存在该对象,则直接返回;若不存在,则查询数据库(返回所有属性)

适用场景:

    CUSTOMERS表中有大量字段启用了二级缓存,并且缓存中可能已包含待查询的Customer对象


Query.setReadOnly()

默认情况下,如果对查询到的对象的属性做了修改,则当Hibernate清理缓存时,会去同步更新回数据库。

如果要只允许读取属性值,而不允许更新属性值,可用setReadOnly().










读书人网 >编程

热点推荐