📄 manytomanyservlet.java
字号:
package example;import java.io.PrintWriter;import java.io.IOException;import java.util.List;import java.util.Collection;import java.util.Iterator;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import javax.persistence.*;/** * A client to illustrate the many-to-many relation. */public class ManyToManyServlet extends HttpServlet { @PersistenceContext(name="example") private EntityManager _entityManager; public void init() { Student student = null; try { student = _entityManager.find(Student.class, new Long(1)); } catch (Throwable e) { } if (student == null) { _entityManager.getTransaction().begin(); try { Student harry = new Student("Harry Potter"); _entityManager.persist(harry); Student ron = new Student("Ron Weasley"); _entityManager.persist(ron); Student hermione = new Student("Hermione Granger"); _entityManager.persist(hermione); Course darkArts = new Course("Defense Against the Dark Arts"); _entityManager.persist(darkArts); Course potions = new Course("Potions"); _entityManager.persist(potions); Course divination = new Course("Divination"); _entityManager.persist(divination); Course arithmancy = new Course("Arithmancy"); _entityManager.persist(arithmancy); Course transfiguration = new Course("Transfiguration"); _entityManager.persist(transfiguration); Grade grade; _entityManager.persist(new Grade(harry, darkArts, "A")); _entityManager.persist(new Grade(harry, potions, "C-")); _entityManager.persist(new Grade(harry, transfiguration, "B+")); _entityManager.persist(new Grade(harry, divination, "B")); _entityManager.persist(new Grade(ron, darkArts, "A-")); _entityManager.persist(new Grade(ron, potions, "C+")); _entityManager.persist(new Grade(ron, transfiguration, "B")); _entityManager.persist(new Grade(ron, divination, "B+")); _entityManager.persist(new Grade(hermione, darkArts, "A+")); _entityManager.persist(new Grade(hermione, potions, "A-")); _entityManager.persist(new Grade(hermione, transfiguration, "A+")); _entityManager.persist(new Grade(hermione, arithmancy, "A+")); } finally { _entityManager.getTransaction().commit(); } } } public void service(HttpServletRequest req, HttpServletResponse res) throws java.io.IOException, ServletException { PrintWriter out = res.getWriter(); res.setContentType("text/html"); try { _entityManager.getTransaction().begin(); Query allStudent = _entityManager.createQuery("SELECT o FROM Student o"); List students = allStudent.getResultList(); for (int i = 0; i < students.size(); i++) { Student student = (Student) students.get(i); out.println("<h3>" + student.getName() + "</h3>"); Collection courses = student.getCourses(); out.println("<ul>"); Iterator iter = courses.iterator(); while (iter.hasNext()) { Course course = (Course) iter.next(); out.println("<li>" + course.getName()); } out.println("</ul>"); } } finally { _entityManager.getTransaction().commit(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -