세 클래스가 있습니다. ClassA와 ClassB는 데이터베이스에 매핑 된 고전적인 POJO 엔티티입니다. 제 3의 ClassC가 HQL을 사용하여 데이터베이스에서 (특정 테이블과 매핑되지 않은) 특정하고 복잡한 쿼리를 수행하기를 원합니다. ClassC에 @Entity 주석을 추가하고 읽기 전용으로 유지할 수 있습니까? 나는이 문서를 통해 갈거야JPA/HIBERNATE 비 POJO 개체 처리
다음 (샘플) SQL 문을지도 할 수있는 방법을 알아 내기 위해 : EMP, 정체성의 도메인 객체와 매핑을 만들려하지
select
a.id, b.name, c.city
from
emp a, identity b, address c
where
a.id = b.id and a.id = c.id
내가 할 및 주소.
내가 원한 것은 SQL 문 출력에 매핑 된 하나의 개체를 갖는 것입니다.
public class Data {
private int id;
private String name;
private String city;
// ... and other details ...
}
기술적으로 저장 프로 시저 또는보기의 작업이어야합니다. 아쉽게도 데이터베이스를 변경할 수 없습니다.
도움/의견을 보내 주시면 감사하겠습니다.
왜 @Entity를 사용하여 HQL 쿼리를 생성하기위한 클래스를 만들고 싶습니까? 클래스에 DB에 매핑 테이블이있는 경우에만 엔터티 주석을 사용해야합니다. – Chaitanya
사실 나는 classC가 일부 보고서를 수행하기를 원합니다. 그리고 나는 classE 나 ClassB를 @Entity annotation과 함께 사용하는 것처럼이 클래스를 사용하고 싶다. 이 클래스 C에서 모든 필드는 특정 HQL 요청의 결과이므로 내 애플리케이션이 여전히 MVC 패턴과 일치합니다. – user3770624