Java JPA数据存储库结果丢失其数据类型
我正在尝试获取以下代码以显示我的查询结果。不幸的是,它不起作用Java JPA数据存储库结果丢失其数据类型,java,spring-data-jpa,Java,Spring Data Jpa,我正在尝试获取以下代码以显示我的查询结果。不幸的是,它不起作用 @Transactional public interface ContentRepository extends JpaRepository<Content,Integer>{ @Query(nativeQuery=true, value="SELECT content_type, COUNT(*) FROM dbo.content WHERE status_id = :statusId GROUP BY
@Transactional
public interface ContentRepository extends JpaRepository<Content,Integer>{
@Query(nativeQuery=true, value="SELECT content_type, COUNT(*) FROM dbo.content WHERE status_id = :statusId GROUP BY content_type")
List<Map<String, Integer>> getContentCountByType(@Param("statusId")Short statusId);
@Transactional
公共接口ContentRepository扩展了JpaRepository{
@查询(nativeQuery=true,value=“从dbo.content中选择content\u type,COUNT(*),其中status\u id=:statusId按content\u type分组”)
列表getContentCountByType(@Param(“statusId”)短statusId);
在我的服务层我做
@Service
public class ContentService {
@Transactional
public Map<ContentType, Integer> getContentCountByType() {
List<Map<String, Integer>> rawContentCount = contentRepository.getContentCountByType(Status.DRAFT);
Map<ContentType, Integer> contentCount = new HashMap<ContentType, Integer>();
Map<String, Integer> objects = rawContentCount.get(0);
@服务
公共类内容服务{
@交易的
公共映射getContentCountByType(){
List rawContentCount=contentRepository.getContentCountByType(Status.DRAFT);
Map contentCount=new HashMap();
Map objects=rawContentCount.get(0);
对象
最终成为变量调试器中的对象[]
。我不确定它为什么不遵守我告诉它使用的映射
我想作为一种替代方法,我可以只返回一个对象列表。我正在尝试谷歌搜索,试图找出要搜索的关键字来找到这样的结果。虽然理想情况下,如果只返回Map
!将我的查询结果转换为Obj,我希望不必仅为此查询结果创建对象ect[]
并在此处使用文档:在10.4.1.2节
解决了我的问题将我的查询结果转换为Object[]
并在此处使用文档:在10.4.1.2节
解决了我的问题为什么您认为Spring数据可以隐式转换Object[]
到映射
?它有文档记录吗?我可以在10.4.1.2节中找到,但我仍然不明白为什么它不能处理映射
。我正在使用这个示例,试图让它为我工作。为什么你认为Spring数据可以隐式转换对象[]
到Map
?它在什么地方有文档记录吗?我可以在10.4.1.2节中找到,但我仍然不明白为什么它不能处理Map
。我正在努力让它为我工作。