J'ai créé deux entités pour les tables HOBBY et STUDENT, mais j'ai des difficultés à récupérer les informations dont j'ai besoin dans le tableau Join.Relier la table et la relation OneToMany dans Hibernate
C'est le schéma:
STUDENT STUDENT_HOBBY HOBBY
-------- ----------- --------
id ------------------ student_id
name hobby_id ---------- id
lastname hobby_name
--------- ---------- --------
where
Student to student_hobby = one to many
Hobby to student_hobby = one to many
(that means a student may have many hobbies and a hobby can belong to more than one student)
Ceci est la classe d'entité étudiant:
@Entity
@Table(name="STUDENT")
public class Student {
@OneToMany
@JoinTable(name="student_hobbies", [email protected](name="student_id"),
[email protected](name="hobby_id"))
private Collection<Hobby> hobbies;
@Id
@Column(name="ID")
@GeneratedValue
private Integer id;
@Column(name="NAME")
private String name;
@Column(name="LASTNAME")
private String lastName;
// Getters and setters here
}
Ceci est la classe d'entité Hobby:
@Entity
@Table(name="HOBBY")
public class Hobby {
@OneToMany
@JoinTable(name="student_hobbies", [email protected](name="hobby_id"),
[email protected](name="student_id"))
private Collection<Student> students;
@Id
@Column(name="ID")
@GeneratedValue
private Integer id;
@Column(name="HOBBY_NAME")
private String hobby_name;
// Getters and setters here
}
Maintenant, je voudrais mettre en œuvre le DAO suivant, mais je ne sais pas exactement comment faire:
public interface MyDAO {
public void addHobbyForStudent(int student_id, int hobby_id);
public void RemoveHobbyForStudent(int student_id, int hobby_id);
}
Dois-je créer une autre classe d'entité pour la table de jointure? Quelqu'un pourrait-il me donner quelques indications sur la façon de suivre?