我试图执行以下HQL语句获取:Hibernate的HQL加入与构造
queryString = "select new DossierAccount(dossier,dossierAccount.accountNumber) from DossierAccount as dossierAccount join fetch dossierAccount.dossier as dossier" +
" where dossier.kycId.id != :kycId and dossierAccount.accountNumber in :accountNumbers";
这导致org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list
例外。当我删除“获取”它的作品。然而,DossierAccount和Dossier之间的关联被指定为“懒惰”,我不想改变它。但在这种特殊情况下,我需要急切地加载档案。
它也适用,当我用变量“accountNumber”替换构造函数调用。但是我需要减少这里所选属性的数量。
有没有办法在select语句中使用嵌入式构造函数调用?
还有一个问题:我还需要限制加入的Dossier的选定属性的数量。有没有办法做到这一点?
当你删除'fetch'并保持关联'LAZY'时会发生什么? – Tobb
相关档案未加载,但我需要它在这种情况下 – thmayr
什么是未加载的意思,是否没有提供给DossierAccount的值? – Tobb