我试图在一组结果中分配具有两个位置类型的实体,这些实体返回不同的值,在某些情况下,其中一个实体返回null,并且在这种情况下,两个实体都采用相同的值。我在做什么错了?
<sql-result-set-mapping name="searchLocation.employer.mapping">
<entity-result entity-class="com.asa.entity.Person"></entity-result>
<entity-result entity-class="com.asa.entity.Location" ></entity-result>
<entity-result entity-class="com.asa.entity.Location" ></entity-result>
<column-result name="idFact" class="java.lang.Long"/>
</sql-result-set-mapping>
<named-native-query name="searchLocation.employer"
result-set-mapping="searchLocation.employer.mapping">
<query>
SELECT
per.*,
locPer.*,
locEmpr.*,
fact.factId AS idFact
FROM Person per
INNER JOIN Request resq ON resq.resqNumIdent = per.perNumIdent
LEFT JOIN Location locPer ON locPer.locId = per.perLoc
INNER JOIN Factory fact ON fact.factPerson = per.perId
INNER JOIN LocationFactory locFact ON locFact.locFactory = fact.factId
INNER JOIN Location locEmpr ON locFact.locLocation = locEmpr.locId
WHERE resq = :resqNumber
</query>
</named-native-query>