package study.servlets.insert; import java.io.IOException; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import study.jpa.embeddables.Address; import study.jpa.embeddables.Employee; import study.utils.ResourceFactory; @WebServlet(name = "EmbeddablesServlet", urlPatterns = { "/entity_embeddables" }) public class EntityEmbeddablesServlet extends HttpServlet { private static final long serialVersionUID = 5369426919462543806L; public void doGet(HttpServletRequest request, HttpServletResponse response) { EntityManager em = ResourceFactory.getEM(); Employee emp = new Employee(); emp.setName("Wesley Egberto"); Address ad = new Address(); ad.setAddress("Rua do meio"); ad.setCity("Sao Paulo"); ad.setCountry("Brasil"); emp.setAddress(ad); // get transation EntityTransaction tx = em.getTransaction(); try { tx.begin(); em.persist(emp); em.flush(); tx.commit(); response.getWriter().print("<html><body><h4>Saved with successfully!</h4></body></html>"); } catch(Exception ex) { try { response.getWriter().print("<html><body><h4>Error: " + ex.getMessage() + "</h4></body></html>"); } catch(IOException e) { } ex.printStackTrace(); tx.rollback(); } finally { em.close(); } } }