Я использую спящий режим и хочу использовать @OrderBy
для заказа resultSet
:
public class TopLevelEntity extends Entity {
@OneToMany(mappedBy = "topLevelEntity", fetch = FetchType.LAZY,
cascade = CascadeType.ALL, orphanRemoval = true)
private Set<TopLevelEntityTranslation> translations;
//other fields
}
public class NextLevelEntity extends Entity {
@OneToMany(mappedBy = "nextLevelEntity", fetch = FetchType.LAZY,
cascade = CascadeType.ALL, orphanRemoval = true)
private Set<NextLevelEntityTranslation> translations;
@Column
private Long number;
//other fields
}
public class TopLevelEntityTranslation extends Entity {
@ManyToOne
@JoinColumn(name = "TOP_LVL_ENTITY_ID")
private TopLevelEntity topLevelEntity;
@OrderBy("nextLevelEntity.number")
@OneToMany(mappedBy = "topLevelEntityTranslation", fetch = FetchType.LAZY,
cascade = CascadeType.ALL, orphanRemoval = true)
private Set<NextLevelEntityTranslation> nextLevelEntityTranslations;
//other fields
}
public class NextLevelEntityTranslation extends Entity {
@ManyToOne
@JoinColumn(name = "TOP_LVL_ENTITY_TR_ID")
private TopLevelEntityTranslation topLevelEntityTranslation;
@ManyToOne
@JoinColumn(name = "NEXT_LVL_ENTITY_ID")
private NextLevelEntity nextLevelEntity;
//other fields
}
У меня есть иерархия сущностей, как показано выше. Но аннотация @OrderBy
(не аннотация c, а оператор, сгенерированный спящим режимом) выдает исключение. Основная часть исключения:
отсутствует запись в предложении FROM для таблицы «nextLevelEntity»
Есть несколько примеров использования jpa @OrderBy
, но шаблон из тех, что я нашел, то же самое и с моим. Прочтите, что @OrderBy
не работает с реализацией JPA Hibernate. Но вопрос задавали 7 лет а go. Это правда или у меня есть ошибка в коде?