/** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Configuration conf = new Configuration(); conf.addAnnotatedClass(Test.class); conf.configure(); ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(conf.getProperties()).buildServiceRegistry(); SessionFactory sf = conf.buildSessionFactory(serviceRegistry); Session session = sf.openSession(); Test test; String action = request.getParameter("action"); Transaction ts = null; try { switch (action) { case "select": List<Test> list = session.createQuery("from Test").list(); for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { test = (Test) iterator.next(); response.getWriter().print(test.getId() + " : "); response.getWriter().println(test.getName()); } break; case "insert": test = new Test(); test.setId(Integer.parseInt(request.getParameter("key"))); test.setName(request.getParameter("value")); session.persist(test); break; case "delete": test = new Test(); test.setId(Integer.parseInt(request.getParameter("key"))); session.delete(test); break; case "update": test = new Test(); test.setId(Integer.parseInt(request.getParameter("key"))); test.setName(request.getParameter("value")); session.update(test); break; case "transaction": ts = session.beginTransaction(); test = new Test(); test.setId(1); test.setName("hello"); session.save(test); test = new Test(); test.setId(2); test.setName("world"); session.save(test); ts.commit(); } } catch (Throwable t) { if (ts != null) { ts.rollback(); } throw new ServletException(t); } finally { session.flush(); session.close(); } }