У меня есть класс, какие модели все категории и они могут быть приказаны иерархически.
@Entity
@Table(name="categories")
public class Category {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequence")
@SequenceGenerator(name="sequence", sequenceName="categories_pk_seq", allocationSize=1)
@Column(name="id")
private Long id;
@Column
private String name;
@OneToOne
@JoinColumn(name="idfather")
private Category father;
}
Я должен получить все категории, заказанные иерархически (я имею в виду каждый родительский элемент, сопровождаемый его детьми и родительскими элементами, приказанными в алфавитном порядке на каждом уровне), поскольку они могли быть сделаны, например, с ПРЕДШЕСТВУЮЩИМ в оракуле. Действительно ли возможно сделать это с Запросом JPA (не SQL один)?
Спасибо.
Короткий ответ; нет стандартного способа сделать это.
Вы должны использовать собственный sql.
Вы можете расширить Oracle Hibernate Dialect и добавить некоторую пользовательскую функцию / расширение для перехода в спящий режим для генерации предложений PRIOR или CONNECT BY, но это помешает вашему приложению быть строгим JPA и независимым от базы данных.