Java 休眠一对一映射二级缓存

Java 休眠一对一映射二级缓存,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对象加载到二级缓存中,需要修改什么 先谢谢你 这是一对一还是多对一

我有一对一和多对一映射的类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对象加载到二级缓存中,需要修改什么


先谢谢你

这是一对一还是多对一(双向)关系?还是这两个单向关系(因为在一个例子中,你使用属性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");