Java 休眠一对一映射二级缓存
我有一对一和多对一映射的类A和类BJava 休眠一对一映射二级缓存,java,hibernate,caching,second-level-cache,Java,Hibernate,Caching,Second Level Cache,我有一对一和多对一映射的类A和类B Class A { int id B b } Class B { A a } 类hbm.xml文件: A.hbm.xml: <cache usage="read-write" region="A"/> <one-to-one name="b" property-ref="a" cascade="all" /> 要将B对象加载到二级缓存中,需要修改什么 先谢谢你 这是一对一还是多对一
Class A {
int id
B b
}
Class B {
A a
}
类hbm.xml文件:
A.hbm.xml:
<cache usage="read-write" region="A"/>
<one-to-one name="b" property-ref="a" cascade="all" />
要将B对象加载到二级缓存中,需要修改什么
先谢谢你 这是一对一还是多对一(双向)关系?还是这两个单向关系(因为在一个例子中,你使用属性ref,我猜不是)?@Flavius谢谢你的回答。这是双向的一对一和多对一关系。建议使用多对一而不是一对一。我没有意识到“太多的怪癖”,老实说,我不是一个经验丰富的ORM开发人员,但从不同方面声明关系显然是错误的。根据本网站,外键上存在双向一对一关联,从每一方不同地实现关系。这是一对一关系还是多对一(双向)关系?还是这两个单向关系(因为在一个例子中,你使用属性ref,我猜不是)?@Flavius谢谢你的回答。这是双向的一对一和多对一关系。建议使用多对一而不是一对一。我没有意识到“太多的怪癖”,老实说,我不是一个经验丰富的ORM开发人员,但从不同方面声明关系显然是错误的。根据这个网站,外键上有一个双向的一对一关联,从每一方不同地实现关系。
<cache usage="read-write" region="B"/>
<many-to-one name="a"
class="ClassA"
column="id"
outer-join="false"
not-null="true"/>
Query q = session.createQuery("from A ").setCacheable(true).setCacheRegion("AQueryCache");