領域我想將數據映射到java.util.Map
屬性與MyBatis的。我有這樣的簡單POJO:地圖java.util.Map與MyBatis的
public class Bar {
...fields
}
public class Foo {
private Map<String, Bar> bars;
public Foo() {
bars = new HashMap<String, Bar>();
}
...
}
如何使用MyBatis將數據映射到酒吧?下面的示例不起作用,因爲它始終將新映射設置爲字段。
<resultMap id="fooResultMap" type="Foo">
...attributes
<association property="bars" resultMap="barResultMap" />
</resultMap>
<resultMap id="barResultMap" type="map">
<result property="key" column="bar_key" />
<association property="value" javaType="Bar">
...attributes
</association>
</resultMap>
應在fooResultMap協會resultMap的是指向barResultMap,而不是priceMapResultMap?我不明白「價格」在你的問題中扮演什麼角色。你想用許多酒吧填充Foo作爲地圖,而不是列表,對吧? – quux00 2012-07-15 23:58:56
嗨,感謝那是錯字,我糾正了它。你是對的我想用許多酒吧填滿Foo作爲地圖,而不是一個List,但不能讓它正常工作。 – 2012-07-16 06:53:06
好的,下一個問題 - 1)數據庫中的foos和bar之間是否存在1:多的關係? (1 Foo可以有很多酒吧)? 2)在你的SQL映射中,你是否把這兩個都拉回到單個查詢中? 3)當你說它不起作用,因爲「它總是設置新的地圖到領域」,你的意思是它覆蓋了你在Foo構造函數中創建的「酒吧」地圖 - 否則它會返回地圖或當前返回的地圖? – quux00 2012-07-16 13:06:25