hibernate双向关联

五娃 发布于 2016/08/24 14:03
阅读 230
收藏 0

用eclipse的jpatools生成的entity,会有

user{

 @ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(xxx)

xxx

}

school{

    @OneToMany(mappedBy=xxx)

    private Set<xxxx>  xxxx

}


这个时候查询school的时候回正常,但是在返回页面的时候回自动查set里面的,然后找到user,又去找school,这样循环直到卡了一会儿停了,为什么会这样?难道一般都是单向的,不用双向的吗?

加载中
0
skhuhu
skhuhu
只要many to one 就行了···一个查询配什么双向 你那个one to many 好浪费 没必要 记得全部要懒加载
五娃
五娃
两端都用用了lazy似乎还是会有那个循环,我现在吧双向关联都给去掉了
0
Zemo
Zemo
school{

    @OneToMany(mappedBy=xxx,fetch=FetchType.LAZY)

    private Set<xxxx>  xxxx

}

另一端也要懒加载

Zemo
Zemo
回复 @1099am : 你这样,json的接口就不会返回这个参数了,可以在User头上加@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) 让他延迟加载一下...
五娃
五娃
我今天又测试了,去双向lazy,因为有页面需要json所以加上@jsonIgore,然后就好了,
五娃
五娃
两端都用用了lazy似乎还是会有那个循环,我现在吧双向关联都给去掉了
返回顶部
顶部