我有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对象加载到二级缓存中,需要修改哪些内容?
提前谢谢你。