4

众所周知,我们可以使用 join fetch 在单个 JPQL 查询中检索实体及其所有子项。但是,我似乎无法使用本机查询来解决这个问题。我得到[Ljava.lang.Object; cannot be cast to com.myapp.SearchResult

发生的事情是我有一个@SqlResultSetMapping带有多个@EntityResults 的配置。一些相关实体是一对一的。其中一种关系是一对多的。它不是 JPA 设置父子关系,而是每行返回一个对象列表,列表中的每个项目都是定义的实体类型之一。

知道如何让它按预期工作吗?这种情况有什么例子吗?

4

1 回答 1

3

您不能在基本 JPA 中加入本机查询中的提取。

如果您使用的是 EclipseLink,则可以使用“eclipselink.join-fetch”查询提示在本机 SQL 查询上启用连接提取(仅没有 SqlResultSetMapping)。

于 2011-08-30T15:09:04.877 回答