8

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を使用して手動で繰り返し、すべての場所を手動で挿入する必要がありますか?

助けてくれてありがとう。

4

1 に答える 1

11

MyBatisは逆方向(つまり、ネストされたselectまたは結合からのクエリ中にリストを埋める)をサポートできますが、含まれているリストをデータベースに挿入する自動モードはありません。

このGoogleグループの説明によると、リスト要素を手動で挿入する必要があります。

于 2010-11-26T19:37:37.543 に答える