I have simple OneToMany relation in my web app. I use EclipseLink 2.5.1 and PostgreSQL. My transactions are managed by glassfish 4.1.
public class Student
...
@ManyToOne
@JoinColumn(name = "school_id")
private School school;
sa
public class School
...
@OneToMany(mappedBy = "school", cascade = CascadeType.ALL)
private List<Student> students;
Save action :
public void process( {
School school = baseManager.findSchoolById(1);
Student student = new Student();
student.setSchool(school);
baseManager.createStudent(student);
//to check operation result
School school = baseManager.findSchoolById(1); //school does not own previously saved student, why?
)
baseManager is an EJB stateless bean. findSchoolById(int id) find school via trivial NamedQuery. createStudent(Student s) only persist new student. Even I refresh my page I don't have any students in the schhol with id = 1. baseManager is located in CDI ViewScoped bean. Student are saved to database correctly. When I re-deploy my application previously saved data are correctly loaded to my application. What do I do wrong?
Aucun commentaire:
Enregistrer un commentaire