首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JPA 多对多范例配置

2012-11-13 
JPA 多对多实例配置public class JPA_ManyToManyTest {@Testpublic void manyTomany() throws Exception {

JPA 多对多实例配置

public class JPA_ManyToManyTest {@Testpublic void manyTomany() throws Exception {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");factory.close();}/** * 保存数据并建立关系 *  * @throws Exception */@Testpublic void save() throws Exception {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();Teacher teacher = new Teacher("梦娅");Student stu = new Student("张明学");// 建立关系teacher.addStudent(stu);em.persist(stu);em.persist(teacher);em.getTransaction().commit();em.close();factory.close();}/** * 解除关系 *  */@Testpublic void removeTeacherStudent() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();Teacher t = em.find(Teacher.class, 1);t.removeStudent(em.getReference(Student.class, 1));em.getTransaction().commit();em.close();factory.close();}@Testpublic void deleteStudentTeacher() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();em.remove(em.getReference(Student.class, 1));em.remove(em.getReference(Teacher.class, 1));em.getTransaction().commit();em.close();factory.close();}// 操作成功@Testpublic void deleteTeacherStudent() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();em.remove(em.getReference(Teacher.class, 2));em.remove(em.getReference(Student.class, 2));em.getTransaction().commit();em.close();factory.close();}// 操作成功/** * 删除失败,学生是关系被维护端无权更新外键 *  */@Testpublic void deleteStudent() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();em.remove(em.getReference(Student.class, 3));em.getTransaction().commit();em.close();factory.close();}/** * 删除成功,老师是关系维护端有权更新外键 *  */@Testpublic void deleteTeacher() {EntityManagerFactory factory = Persistence.createEntityManagerFactory("mengya");EntityManager em = factory.createEntityManager();em.getTransaction().begin();em.remove(em.getReference(Teacher.class, 3));em.getTransaction().commit();em.close();factory.close();}}

?

热点排行