MyBatisを使用してオブジェクトでコレクションを永続させます
-
28-09-2019 - |
質問
私はPojoクラスを持っています:
class Ticket {
private int id;
private double cost;
private Date time;
private List<Place> places;
// Getters and setters here
}
class Place {
private int row;
private int place;
// Getters and setters here
}
次に、1つのチケットといくつかの場所を作成します。
Ticket ticket = new Ticket();
ticket.setCost(58.7);
ticket.setTime(new Date());
Place place1 = new Place();
place1.setRow(1);
place1.setPlace(2);
ticket.addPlace(place1);
Place place2 = new Place();
place2.setRow(3);
place2.setPlace(4);
ticket.addPlace(place2);
そして今、私はそれをdbに保存したい:
session.insert("insertTicket", ticket);
session.commit();
mapperconfig.xmlでは、この行を書きます。
<insert id="insertTicket" parameterType="Ticket">
INSERT INTO tickets (cost, time) VALUES (#{cost}, #{time})
</insert>
どのように保存できるか 場所をリストします 自動モードで? MyBatisは私のためにそれを保存できますか?または、手動で反復する必要があります foreach すべてを挿入します 場所 手で?
助けてくれてありがとう。
解決
MyBatisは逆方向をサポートすることができますが(つまり、クエリ中にネストされた選択または結合からリストに記入します)、データベースに含まれるリストを挿入する自動モードはありません。
これによれば Googleグループディスカッション リスト要素を手動で挿入する必要があります。
所属していません StackOverflow