package study.servlets.insert; import java.io.IOException; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import study.jpa.relationship.onetomany.Dog; import study.jpa.relationship.onetomany.PersonOneToMany; import study.utils.ResourceFactory; /** * Servlet implementation class RelationshipOneToMany */ @WebServlet("/RelationshipOneToMany") public class RelationshipOneToManyServlet extends HttpServlet { private static final long serialVersionUID = 1085544353253647270L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { EntityManager em = ResourceFactory.getEM(); String result = null; PersonOneToMany p = new PersonOneToMany(); p.setName("Odair"); p.addDog(new Dog("Bob", "Pitbull")); p.addDog(new Dog("Jason", "Rottweiler")); // get transation EntityTransaction tx = em.getTransaction(); try { tx.begin(); em.persist(p); // foreach is not need because the relationship uses cascade //for(Cat dog : p.getDogs()) { // em.persist(dog); //} em.flush(); tx.commit(); result = "Saved with successfully!"; } catch(Exception ex) { result = ex.getMessage(); ex.printStackTrace(); tx.rollback(); } finally { em.close(); } response.getWriter().print("<html><body><h4>" + result + "</h4></body></html>"); } }