如何在运行时覆盖FetchType.EAGER延迟

时间:2012-06-12 13:06:08

标签: java hibernate jpa persistence

使用JPA EntityManager和JPA Query对象,如何覆盖在查询中懒惰地获取注释@OneToMany(fetch = FetchType.EAGER)的内容?

如果我有hibernate Query对象,我可以创建一个条件对象并使用它,将fetch类型设置为惰性。但我必须使用JPA Query对象。有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:5)

即使使用本机Hibernate API,也无法做到这一点。如果关联被定义为EAGER,它将始终被急切加载,并且无法使用查询来更改它。

反之亦然:您可以使用查询急切加载延迟关联。

答案 1 :(得分:-1)

查看Hibernate Fetch配置文件或JPA实体图。自从你在2012年提出这个问题以来,这个问题已经解决了。