0

Spring/Hibernate/JPA に取り組んでいるときに、この問題に遭遇しました。

これが私の質問の概要です。

学生テーブルと出席テーブルの間に OneToMany の関係があります。

私のエンティティの構築方法は次のとおりです。

@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;
}

ここで、すべての学生と出席数 (出席数) を照会したいと考えています。

これが私が試したものですが、成功しませんでした:

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

上記のスクリプトは複雑な名前のクエリの一部であり、他のエンティティも関係していますが、出席者数をN.

どんな種類の助けも大歓迎です。

4

1 に答える 1

0

これを Hibernate としてタグ付けしたので、HQL を使用して次のように記述できるはずです。

select student.id, count(student.attendances) from Student as student
于 2013-02-18T19:44:18.103 に答える