Я пытаюсь отредактировать объект с помощью 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;
}