최대 절전 모드에서 쿼리 문제가 발생했습니다. 기존 데이터가있는 '테스트'테이블이 있습니다. 테스트 테이블의 스키마를 수정할 수없는 요구 사항이 있으므로 다른 테이블 'testExtension'을 만들었습니다.이 테이블의 기본 키는 Test의 기본 키에 대한 외래 키입니다. testExtension의 데이터는 테스트중인 데이터의 하위 집합입니다. 즉, 'test'보다 'testExtension'에 더 적은 행이 있습니다. 이 설정으로최대 절전 모드를 사용하여 "확장 테이블"쿼리
<class name="Test" table="test">
<id name="testId" column="test_id">
<generator class="sequence">
<param name="sequence">test_id_seq</param>
</generator>
</id>
<property name="name"/>
<joined-subclass name="TestExtension" table="testExtension">
<key column="test_id"/>
<property name="summary" />
<property name="homepage"/>
</joined-subclass>
, 나는 나의 자바 프로그램에서 TestExtension 객체를 생성 데이터로 채울 수 있어요, 다음과 같이
나는 구성 파일에서이 관계를 정의 Hibernate를 통해 '저장'하고 트랜잭션을 커밋합니다. 또한 Test 및 TestExtension에 데이터를 올바르게 저장합니다.
이 테이블에서 데이터를 쿼리 할 때 내 문제가 발생합니다. QBE에 대한 TestExtension.class를 사용하여 특정 test_id를 쿼리하면 Test와 TestExtension에 해당 ID가있는 경우에만 행을 반환합니다. Test.class를 QBE에 사용하면 행이 반환되지만 TestExtension에 저장된 데이터에 액세스 할 수는 없습니다.
내 질문은 : 결과가 Test 및 TestExtension의 '왼쪽 외부 조인'을 기반으로하도록 이러한 테이블을 어떻게 쿼리 할 수 있습니까? 예제에 의한 질의, HQL, 또는 다른 어떤 것이 든 (모든 것이 바람직하지만 원시 SQL은 아님) 모든 솔루션이 만족 스럽습니다.
감사합니다.
최대 절전 모드 주석을 사용할 수 있습니까? 주석을 사용하여 exectly 동일한 작업을 수행했으며 원하는 경우 샘플을 제출할 수 있습니다. –