使用jpa编辑一个实体

问题描述 投票:1回答:1

我想用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;
    }
jpa jakarta-ee
1个回答
0
投票

通过只创建一个实例来解决 EntityManagerFactory

© www.soinside.com 2019 - 2024. All rights reserved.