使用JPA @OneToOne @PrimaryKeyJoinColumn 延迟加载怎么配置呢?哪位指点下,谢谢。数据库:
主表:my_parent,两个字段:id(主键)、name
从表:my_children,也是两个字段:parent_id(主键)、name
从表中使用的parent_id是主表的id。
主表中的id,从表中可以没有对应的parent_id,但从表的parent_id主表中一定有对应的id。对应Java的实体类为:MyParent MyChildren
根据以上描述,这两个类的关系是符合OneToOne和PrimaryKeyJoinColumn的。
由于查询MyParent的时候立即加载MyChildren,查询效率会明显变慢,并且有时候并无必要查询MyChildren,所以现在想延迟加载MyChildren,如何实现呢?欢迎大家赐教!JPA 延迟加载 OneToOne PrimaryKeyJoinColumn

解决方案 »

  1.   

    jpa的配置说明可以在这里查到
    http://www.oracle.com/technetwork/middleware/ias/toplink-jpa-annotations-096251.html#UniqueConstraint@Entity
    public class Order {
        @Id
        protected int id;
        protected long quantity;
        @ManyToOne(fetch=LAZY)
        protected Item item;
        ...
    }
      

  2.   


    谢谢xietingyan。这个链接中描述的情况和我的场景不同,还没有发现可借鉴的地方。
      

  3.   


    谢谢xietingyan。这个链接中描述的情况和我的场景不同,还没有发现可借鉴的地方。

    @OneToOne(fetch=FetchType.LAZY)  这个是你想要的吗
      

  4.   


    谢谢xietingyan,这样配置在我的使用场景中不会延迟加载。
    我的场景中@OneToOne @PrimaryKeyJoinColumn是同时使用的,我想这可能影响了OneToOne的一些原本可行的配置。
     
     
      

  5.   


    谢谢xietingyan,这样配置在我的使用场景中不会延迟加载。
    我的场景中@OneToOne @PrimaryKeyJoinColumn是同时使用的,我想这可能影响了OneToOne的一些原本可行的配置。
     
     
    楼主问题解决了没有?贴出来看看。