: 나는 단지 하나 개의 컬럼을 선택하면최대 절전 모드 기본 쿼리 반환 목록 개체 목록
SELECT object_name,
object_name_location
FROM dbo.object_stacks
WHERE object_id IN (SELECT thumb_nail_obj_id
FROM dbo.uois
WHERE Upper(NAME) LIKE Upper('%testobj%'))
즉 단지 이름을 객체 - 모든 것이 잘 작동하지만,이 열이 나는를 오류가 발생했습니다.
java.lang.ClassCastException : [Ljava.lang.Object; 목록에서 결과를 표시하려고하면 런타임에 java.lang.String
으로 캐스팅 할 수 없습니다. String 배열을 목록에서 사용하려고했지만 작동하지 않습니다. 다음은 오류를주고 내 코드 조각은 다음과 같습니다
난 단지 목록 사용:
List<String> Thumbnailpaths = pathquery.list();
System.out.println(Thumbnailpaths.get(i).replace("\\", "\\\\"));
컴파일도 시간이 있지만 표시하는 선 위에 그대로두면 아무것도 없음 오류가 classcast 예외를 제공합니다.
나는 목록의 배열을 사용하는 경우 :
런타임
에서List<String[]> Thumbnailpaths = pathquery.list();
System.out.println(Thumbnailpaths.get(i)[0].replace("\\", "\\\\"));
여기서 다시 classcast 예외를 훨씬 더 복잡한 논리를 만들면서 또한 Criteria.ALIAS_TO_ENTITY_MAP
전혀 도움이되지 않습니다. 난 그냥 데이터베이스 테이블에서 2 열 값이 필요합니다.
NQL에 여러 열 결과를 가져온 다음 목록에 넣을 수있는 해결책이 있는지 알려주십시오.
참고 : 제네릭이 표시되지 않습니다 만 목록이 내 코드로 작성되고
을 구문 분석 도움을
해결되었습니다. 객체 배열을 사용할 때 정확한 결과가 나타납니다. \t \t \t Object [] data = Thumbnailpaths.get (i); – newuserhibernate