使用JPA编辑实体



我正在尝试使用JPA编辑和实体,但我没有做任何事情,为什么?

public void editExam(Exam e) {
        Exam ex=getExam(e.getIdExam());
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("QuizPU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        ex.setQuestions(e.getQuestions());
        em.getTransaction().commit();
        em.close();
        emf.close();
    }

我正在尝试更改列表的questions的值。这就是在我的Exam实体类中编码的方式

    @OneToMany (cascade = ALL)
    @JoinTable(name="jnt_Exam_Question",
               joinColumns = @JoinColumn(name="idExam"), 
               inverseJoinColumns = @JoinColumn(name="idQuestion"))
    private List<Question> questions;

我的getexam((方法

public Exam getExam(Long idExam) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("QuizPU");
        EntityManager em = emf.createEntityManager();
        String req1 ="select e from Exam e where e.idExam = ?1";
        Query q1 = em.createQuery(req1);
        q1.setParameter(1, idExam);
        Exam e =(Exam) q1.getSingleResult();
        em.close();
        emf.close();
        return e;
    }

仅通过创建一个EntityManagerFactory

的实例而解决

最新更新