1
내 쿼리 결과를 표시하기 위해 아래 코드를 얻으려고합니다. 불행히도 작동하지 않습니다. 내가 내 서비스 계층에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 content_type")
List<Map<String, Integer>> getContentCountByType(@Param("statusId")Short 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);
objects
변수 디버거에서 Object[]
되는 끝납니다. 나는 그것이 사용하도록 말한 Map<String, Integer>
에 복종하지 않는 이유가 불확실합니다.
나는 대체로 개체 목록을 반환 할 수있는 대안으로 생각하고있었습니다. 나는 그런 결과를 찾기 위해 검색 할 키워드를 알아 내려고 노력하고있다. 이상적으로 비록 그냥 Map
반환하는 경우이 쿼리 결과에 대한 개체를 만드는 데 피하는 싶습니다!
는 왜 봄 데이터가 암시 적으로 변환 할 수 있다고 생각합니까 내 문제 해결'[]'지도''에 반대? 그것은 어딘가에 문서화되어 있습니까? – axtavt
'10.4.1.2' 절에서 http://docs.jboss.org/hibernate/core/3.3/reference/en/html/objectstate.html#objectstate-querying-executing을 찾을 수 있었지만 여전히 ' 왜 Map를 처리 할 수 없는지 이해하지 못한다. 나는 그것이 나를 위해 일하도록 노력하고있는 그 모범을 위해 일하고있다. –
Webnet