Long을 반환하는 명명 된 네이티브 쿼리를 만들려고합니다. 명명 된 쿼리 오류 - org.hibernate.impl.SessionFactoryImpl -org.hibernate.MappingException : 알 수없는 엔터티 : java.lang.Long
ERROR : 여기
내 orm.xml의 (가능한 한 많은 간체) 파일<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd"
version="2.0">
<named-native-query name="getCaseNumberByCommId" result-class="java.lang.Long">
<query>SELECT case_id FROM communications WHERE comm_id =(?1)</query>
</named-native-query>
</entity-mappings>
이 내가 얻을 오류입니다 : : 출시 산호] org.hibernate.MappingException : 를 getCaseNumberByCommId 알 수없는 엔티티 : java.lang.Long의
을 나는 또한 단지
"롱"을 지정 시도했습니다에 의한 값 : 긴 ... 인한 : java.lang.ClassNotFoundException가 : org.hibernate.AnnotationException : 엔티티 클래스를 찾을 수 없습니다 긴
0<named-native-query name="getCaseNumberByCommId" result-class="Long">
<query>SELECT case_id FROM communications WHERE comm_id =(?1)</query>
</named-native-query>
이상하게이 오류가
Java가 java.lang에서 Long을 찾을 수 없습니까?
어떤 단서 주셔서 감사합니다편집 :이 오류
<named-native-query name="getCaseNumberByCommId" >
<query>SELECT case_id FROM communications WHERE comm_id =(?1)</query>
</named-native-query>
얻을 :
상자의 예외가 org.hibernate입니다 나는 '결과-클래스의 주석을 제거하려 .cfg.NotYetImplementedException : 순수 네이티브 스칼라 쿼리가 아직 지원되지 않음
업데이트 *
내가 할 수있는 방법을 발견 한 적이 있지만, 데이터베이스가 comm_id에 고유성 제약 조건을 가지고 있기 때문에, 난 그냥 카운트 대신 매핑 된 POJO 객체를 반환 할 수 있었다.
<named-native-query name="getByCommId" result-class="com.foo.model.Communication">
<query>SELECT * FROM communications WHERE comm_id =(?1)</query>
</named-native-query>
그런 다음 반환 된 pojo에서 원하는 case_id를 가져옵니다. 더 result-class
이 매핑 된 엔티티 중 하나를해야이에보고하지 않고 Long
때문에
Example 18.4
에서 내가 결과 수준의 주석을 제거하고이 오류가 시도 감사 : 중첩 예외는 org.hibernate.cfg.NotYetImplementedException입니다 : 순수 네이티브 스칼라 질의는 아직 지원되지 않습니다 – slashdottir@slashdottir 추가 정보 hel 너 밖으로 나가거나 다른 방법으로 그것을 해결 했니? – edwardsmatt
필자는 마침내 Long을 리턴하는 것을 포기해야했고 대신 매핑 된 pojo 객체를 반환했습니다. 데이터베이스에서 식별자 당 단 하나의 행을 의미하는 고유성 제약이 있음이 밝혀지기 때문에 일할 수있었습니다 이런 식으로이 문제를 해결한다. – slashdottir