Persistono raccolta in oggetto con MyBatis
-
28-09-2019 - |
Domanda
Ho classi 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
}
Poi creo un biglietto e alcuni luoghi:
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);
E ora voglio salvarlo DB:
session.insert("insertTicket", ticket);
session.commit();
In MapperConfig.xml Scrivo queste righe:
<insert id="insertTicket" parameterType="Ticket">
INSERT INTO tickets (cost, time) VALUES (#{cost}, #{time})
</insert>
Come posso salvare Elenco di luoghi in modo automatico? Ha MyBatis può salvare per me? O ho bisogno di iterare manualmente con foreach e inserisco ogni Inserisci a mano?
Grazie per qualsiasi aiuto.
Soluzione
Anche se MyBatis è in grado di supportare la direzione inversa (cioè riempiendo la lista durante una query con una selezione nidificata o da un join), non c'è modo automatico che inserisce l'elenco contenente nel database.
In base a questo di Google Gruppi discussione avete per inserire gli elementi della lista manualmente.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow