Hibernate Выберите отличный с заказом по другой таблице - PullRequest
0 голосов
/ 11 марта 2019

Я знаю, что есть много тем вокруг этого, но я не могу найти решение моей проблемы.Я знаю, что если я использую «Different» и «Order by» в hibernate, столбец из order by должен быть в предложении select.В других статьях просто говорится, что столбец должен быть выбран, но я не нашел пример того, как этого можно достичь.

Это мой класс:

@Entity
@Table(name = "DANCE")
public class Dance implements Serializable {

@Id
private int tanzid;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SID")
private School school;

@Basic
@Column(name = "titel")
private String titel;

(getter setter...)

Мой (не работает) запрос:

SELECT distinct d FROM Dance d order by d.school.schoolname

Если я делаю заказ по названию, например, это работает.Я попытался установить название школы в предложении select:

SELECT distinct d, d.school.schoolname FROM Dance d order by d.school.schoolname

, но затем hibernate жалуется, что тип возвращаемого запроса не из типа "Dance.class"

Какможно ли сделать заказ по названию школы.

Спасибо

1 Ответ

0 голосов
/ 11 марта 2019

Вы должны выбрать отдельные строки для одного столбца.К сожалению, это не является частью стандарта SQL, поэтому в jpql или hql это невозможно сделать.Для этого вам придется использовать специфический для поставщика синтаксис и собственный запрос. Здесь - пример в postgres.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...