Я столкнулся с этой проблемой, работая над 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;
Приведенный выше сценарий является частью сложного под названием Query, и в него вовлечены и другие сущности, но я немного потерялся в концепции получения подсчета посещаемости в N
.
любая помощь приветствуется.