2012-09-25 5 views
0

Je rencontre ce problème en travaillant sur Spring/Hibernate/JPA.comment charger une à plusieurs entités de relation dans jpa avec les comptes des entités enfants

Voici l'aperçu de ma question.

J'ai une relation OneToMany entre les tables d'étudiant et de présence.

Voici comment mes entités sont construites:

@Entity 
class Student{ 
@Id 
private Long id; 
    @OneToMany(mappedBy = "student", 
       cascade = { CascadeType.PERSIST, CascadeType.MERGE, 
          CascadeType.REFRESH }) 
    private List<Attendance> attendances; 
} 

@Entity 
class Attendance{ 

    @ManyToOne 
    @JoinColumn(name = "id") 
private Student student; 
} 

Maintenant, je veux interroger tous les étudiants et le nombre de vacations (de comptage des présences).

Voici ce que j'ai essayé, sans succès:

select P.id, N from Student s left join s.attendances, IN(s.attendances) as N; 

Le script ci-dessus fait partie d'une requête complexe nommé et il y a d'autres entités impliquées aussi, mais je suis un peu perdu sur le concept d'obtenir les participants comptent en N.

toute aide est appréciée.

Répondre

0

Vous avez marqué cela comme Hibernate si utilisant HQL vous devriez être en mesure d'écrire:

select student.id, count(student.attendances) from Student as student 
Questions connexes