Question

J'ai des classes 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
}

Alors je crée un billet et certains endroits:

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);

Et maintenant, je veux l'enregistrer sur DB:

session.insert("insertTicket", ticket);
session.commit();

Dans MapperConfig.xml je vous écris ces lignes:

<insert id="insertTicket" parameterType="Ticket">
    INSERT INTO tickets (cost, time) VALUES (#{cost}, #{time})
</insert>

Comment puis-je enregistrer Liste des lieux en mode automatique? Est-ce que mybatis peut l'enregistrer pour moi? Ou je dois itérer avec foreach et insérer tous les La place la main?

Merci pour toute aide.

Était-ce utile?

La solution

Même si mybatis est capable de supporter le sens inverse (à savoir le remplissage de la liste lors d'une requête avec un select imbriquée ou d'une jointure), il n'y a pas de mode automatique qui insère la liste contenant dans la base de données.

Selon cette Google Groupes de discussion vous à insérer les éléments de la liste manuellement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top