众所周知,我们可以使用join fetch在单个JPQL查询中检索实体及其所有子节点。但是,我似乎无法使用本机查询。我得到了[Ljava.lang.Object; cannot be cast to com.myapp.SearchResult
。
发生的事情是我有一个@SqlResultSetMapping
配置,其中包含多个@EntityResult
个。一些相关实体是一对一的。其中一个关系是一对多。它不是JPA设置父子关系,而是每行返回一个对象列表,列表中的每个项目都是一个已定义的实体类型。
知道如何按预期工作吗?这种情况有什么例子吗?
答案 0 :(得分:3)
您无法在基本JPA中加入原生查询中的提取。
如果您使用的是EclipseLink,则可以使用“eclipselink.join-fetch”查询提示在本机SQL查询上启用连接提取(仅限SqlResultSetMapping)。