조인 된 서브 클래스 엔티티 세트를 부모 엔티티에 맵핑하려고합니다. NHibernate에 의해 생성되는 SQL이 올바르지 않은 것 같습니다. 내 매핑에서 무엇인가 놓치고 있습니까? 이 문제에 접근 할 수있는 또 다른 방법이 있습니까?Hibernate 조인 된 서브 클래스 엔티티의 간단한 컬렉션
<class name="ResultItem" table="result">
<id name="ID">
<generator class="identity" />
</id>
<many-to-one name="Job" column="JobID"/>
<property name="Timestamp"/>
<many-to-one name="User" column="UserID"/>
<joined-subclass name="ResultItemAttachment" table="result_attachment">
<key column="ID"/>
<property name="Comment"/>
</joined-subclass>
</class>
이것은 NHibernate에 의해 생성되는 SQL입니다. 슈퍼 클래스와 하위 클래스 멤버가 혼동을 일으키는 것처럼 보입니다. JobID가있는 유일한 테이블은 result_attachment가 아닌 결과 테이블입니다. 사전에
SELECT attachment0_.JobID as JobID1_,
attachment0_.ID as ID1_,
attachment0_.ID as ID26_0_,
attachment0_1_.JobID as JobID26_0_,
attachment0_1_.`Timestamp` as Timestamp26_0_,
attachment0_1_.UserID as UserID26_0_,
attachment0_.`Comment` as Comment33_0_
FROM result_attachment attachment0_
inner join result attachment0_1_ on attachment0_.ID=attachment0_1_.ID
WHERE attachment0_1_.JobID=?;
감사
매핑이 나에게 잘 어울립니다. 쿼리를 게시 할 수 있습니까? –
매핑이 정상입니다. ResultItem 및 ResultItemAttachment 클래스를 표시 할 수 있습니까? –
쿼리에서 result_attachment.JobID는 어디에 있습니까? attachment0_1_은 결과의 별칭입니다. –