我想用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