간단한 질문 :
이 예제에서는 모든 개체를 검색해야하지만 이러한 개체에는 msgFrom 필드가 있어야합니다. 내가HQL : 일부 열에 의해 구분되는 모든 엔티티를 선택하는 방법은 무엇입니까?
List<Message> list = getHibernateTemplate().find("select distinct m.msgFrom from Message m WHERE msgTo = ? AND msgCheck = 0", dinc);
를 사용하는 경우
나는 다음 오류 얻을 : 나는 Hibernate는 하나의 열을 검색하기 때문에 그것의 가정
java.lang.ClassCastException: java.lang.Integer cannot be cast to com.example.model.Message
을하지만 객체가 아닌 열이 필요합니다.
어떻게해야합니까?
난, 난 그냥 쉼표를 스크롤 할 수 있다고 생각 즉
List<Message> list = getHibernateTemplate().find("select distinct m.msgFrom, m.To, m.datetime, .......... from Message m WHERE msgTo = ? AND msgCheck = 0", dinc);
하지만 20 개 이상의 필드 여기가 있다면 무엇? 쉬운 해결책이 있습니까?
감사!
select e from Message e
where e.msgFrom IN (select distinct m.msgFrom
from Message m
WHERE m.msgTo = ?
AND m.msgCheck = "0");
는 다른 방법으로, 당신은 또한 기준 API를 사용할 수 있습니다
정말 고마워요, 정말 작동합니다 !! – gennad
그러나 Criteria API를 사용하여이를 수행하는 방법에 대한 예제가 있습니까? – gennad
Criteria API가 동적 쿼리를 빌드하고 런타임 실패를 줄이는 방법 - http://www.ibm.com/developerworks/java/library/j-typesafejpa/ –