0
我具有以下類SQL別名字典返回重複結果
<class name="Product" table="Product">
<id name="ID" />
...
<map name="CustomFields" table="CustomFieldView">
<key column="RECORDID" />
<map-key column="CFName" type="String" />
<element column="CFValue" type="String" />
</map>
</class>
和SP來選擇產品與CustomFields字典
<sql-query name="GetProducts">
<return alias="p" class="Product" />
<return-join alias="cf" property="p.CustomFields" />
SELECT {p.*}, {cf.*}
FROM Product p
INNER JOIN CustomFieldView cf ON p.ID = cf.RECORDID
// WHERE
</sql-query>
當我選擇單品等WHERE ID = 1234,然後它按預期工作 - 返回一個包含填充的CustomFields Dictionary屬性的產品。 但是,當我選擇不是單個產品時,如WHERE ID IN(18780,21642)或其他條件,則我獲得產品重複'CustomFields.Count'次,例如, 2個產品,每個產品有20個自定義字段,然後是40個產品,每個有20個有效的自定義字段。
我在映射中遺漏了什麼嗎?
但是這種映射可以很好地與例如,目前只有
對不起,我錯誤理解你的問題。不過,我認爲你提取策略並不完全正確。你真的需要一個'
Rippo
2011-05-04 11:10:06
你理解我很對。也許更改爲HQL將有所幫助...我將回來測試結果。謝謝 – Madman 2011-05-04 11:13:11