Olá,
Eu comecei a pouco tempo a trabalhar e estudar o Hibernate. Estou trabalhando com um sistema legado que não utiliza JPA, apenas Hibernate versão 3.2 com mapeamento xml...
Eu tenho um objeto Ticket que possui uma lista de TicketItem. O mapeamento xml dessa lista é o seguinte:
<bag cascade="all,,delete-orphan" inverse="true" lazy="false" name="ticketItems" table="TICKET_ITEM">
<key>
<column name="TICKET_ID" />
</key>
<one-to-many class="com.xxxxxxxxxxx.model.TicketItem" />
</bag>
Eu gostaria que: Ao persistir um objeto Ticket com itens em sua lista de TicketItem a tabela TicektItem também fosse preenchida com os dados fornecidos.
Veja abaixo o trecho do meu código no qual eu crio um TicketItem e adiciono ele no Ticket. Ao salvar o Ticket apenas o Ticket é salvo, a tabela referente ao TicketItem não é preenchida.... Poderiam me ajudar?
Terminal terminal = TerminalDAO.getInstance().load(3009);
User user = UserDAO.getInstance().load(1);
Shift shift = ShiftDAO.getInstance().load(1);
MenuItem item = MenuItemDAO.getInstance().load(67);
TicketItem ticketItem = new TicketItem();
ticketItem.setMenuItem(item);
ticketItem.setItemQuantity(2.0);
ticketItem.setName("GRILLED CHICKEN");
ticketItem.setGroupName("SANDWITCH PLATTER");
ticketItem.setCategoryName("LUNCH N DINNER");
ticketItem.setUnitPrice(2.0);
ticketItem.setSubtotalAmount(2.0);
ticketItem.setSubtotalAmountWithoutModifiers(2.0);
ticketItem.setTotalAmount(2.0);
ticketItem.setTotalAmountWithoutModifiers(2.0);
ticketItem.setBeverage(false);
ticketItem.setShouldPrintToKitchen(true);
ticketItem.setHasModifiers(true);
ticketItem.setPrintedToKitchen(true);
ticketItem.setStatus("Waiting");
Ticket ticket = new Ticket();
ticket.setTerminal(terminal);
ticket.setOwner(user);
ticket.setShift(shift);
ticket.setTicketType("DINE IN");
ticket.setVersion(1);
List<TicketItem> list = new ArrayList<TicketItem>();
list.add(ticketItem);
ticket.setTicketItems(list);
TicketDAO ticketDao = TicketDAO.getInstance();
ticketDao.save(ticket);