如何将查询结果映射到不是实体的自定义对象中?

时间:2018-09-14 15:16:39

标签: hibernate spring-boot

此查询基本上可以按预期运行:

@Query("SELECT " +
       "   votedItem.groupVoting.id AS votingId, " +
       "   COUNT(votedItem) AS nbVotes " +
       "FROM VotingVotedItemEntity votedItem " +
       "WHERE votedItem.id IN :votingIds " +
       "GROUP BY votedItem.id, votedItem.item.id")
List<Object> findItemVoteCountsByVotingIds(@Param("votingIds") List<Long> votingIds);

我的问题是我无法将结果放入对象。该查询不是最终查询,但最终应将其映射到一个类中:

public class ItemVotes 
{
    private String name;
    private Integer voteCount;
    /*  Getter & setter */
}

我不知道该怎么走。在这一点上,我认为我必须创建它自己的JpaRepository

public interface VoteCountsRepository extends JpaRepository<ItemVotes, Long> {
}

但是这不起作用,因为服务器在启动时死于a

  

IllegalArgumentException:不是托管类型

有人可以在这里向我解释如何将自定义类型映射到对象吗?

0 个答案:

没有答案