在我的存储库中,我有一个如下所示的查询:
@Query("select us,ul FROM UserScore us LEFT JOIN us.userLike ul WHERE us.param1=:param1 and ul.param2=:param2)
public List<Object[]> getTest(@Param("param1") Integer param1, @Param("param2") Integer param2);
有没有办法避免返回List而是返回类似这样的List?
@Entity
public UserScoreUserLike {
private UserScore userScore;
private UserLike userLike
[getters setters]
}
在某种程度上,让JPA使用我的自定义实体/ POJO映射多选的结果?
谢谢!
答案 0 :(得分:1)
&#34;选择新的&#34;符号是你的朋友,你在那里选择包装对象的创建。所以你的JPA查询看起来像
select new UserScoreUserLike(us, ul) from UserScore ...
请注意,您的包装器对象不一定(也可能不应该)和实体对象。
请参阅此其他StackOverflow回答:JPQL Create new Object In Select Statement - avoid or embrace?