如何懒惰地加载带有eager注释的集合

时间:2016-06-23 15:51:55

标签: java hibernate

我有一个关系映射为@ManyToOne(fetch = FetchType.EAGER)的实体,在某些情况下我想覆盖此提取模式。

我尝试过使用Criteria的setFetchMode,但它没有用。我也尝试使用FetchProfiles,但也没有运气。

我尝试编写SQL查询并使用setEntitysetRoot方法,这样我的实体就会被自动填充,但即使如此,它也会急切地加载关系。

作为一个黑客,我还想创建第二个实体来扩展第一个,所以我覆盖了getter以替换@ManyToOne注释,但是当我这样做时,它会导致以下异常:

org.hibernate.MappingException: Repeated column in mapping for entity: XXX column: AAA (should be mapped with insert="false" update="false")

不幸的是我正在处理遗留代码而我无法更改注释类型,因为它会影响整个应用程序LazyInitializationException

有什么想法吗?

0 个答案:

没有答案