hibernate一对一映射二级缓存

时间:2016-01-22 09:56:21

标签: java hibernate caching second-level-cache

我有A级和B级,一对一和多对一的映射。

   Class A {
   int id
   B b
   }

  Class B {
  A a
  }

A类hbm.xml文件:

   A.hbm.xml:
  <cache usage="read-write" region="A"/>
  <one-to-one name="b" property-ref="a" cascade="all" />

B类hbm.xml文件:      B.hbm.xml:

 <cache usage="read-write" region="B"/>
 <many-to-one name="a"
        class="ClassA"
        column="id"
        outer-join="false"
        not-null="true"/>

我创建了这个queryCache来加载A对象。但是这永远不会缓存B对象。总是命中数据库以加载对象B.我在hibernate xml文件中启用了queryCache以及二级缓存为true。

   Query q = session.createQuery("from A   ").setCacheable(true).setCacheRegion("AQueryCache");

要将B对象加载到二级缓存中,需要修改哪些内容?

提前谢谢你。

0 个答案:

没有答案