【问题标题】:JPA avoid List<Obect[]> when selecting multiple entites选择多个实体时 JPA 避免 List<Object[]>
【发布时间】:2014-12-10 01:32:17
【问题描述】:

在我的存储库中,我有一个如下所示的查询:

 @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?

谢谢!

【问题讨论】:

    标签: jpa mapping multi-select pojo


    【解决方案1】:

    “选择新”表示法是您的朋友,您在其中选择创建包装对象。所以你的 JPA 查询看起来像

    select new UserScoreUserLike(us, ul) from UserScore ...
    

    请注意,您的包装对象不一定是(也可能不应该是)实体对象。

    查看其他 StackOverflow 答案:JPQL Create new Object In Select Statement - avoid or embrace?

    【讨论】:

    • 很高兴为您提供帮助!是的,非常方便。
    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    相关资源
    最近更新 更多