使用MyBatis持久保存对象

我有POJO课程:

class Ticket { private int id; private double cost; private Date time; private List places; // Getters and setters here } class Place { private int row; private int place; // Getters and setters here } 

然后我创建一张票和一些地方:

 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 INTO tickets (cost, time) VALUES (#{cost}, #{time})  

如何在自动模式下保存列表位置 ? MyBatis可以为我保存吗? 或者我需要手动迭代foreach并手动插入每个地方

谢谢你的帮助。

即使MyBatis能够支持反向(即在使用嵌套选择或来自连接的查询期间填充列表),也没有将包含列表插入数据库的自动模式。

根据此Google网上论坛的讨论,您必须手动插入列表元素。