JPA查询以获取整棵树

我有一个可以对所有类别进行建模的类,可以对它们进行分层排序。

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

}

我需要按等级对所有类别进行排序(我的意思是每个父亲都跟随其子级,而父亲在每个级别上按字母顺序排序),例如可以使用oracle中的PRIOR进行分类。是否可以使用JPA查询(而非SQL查询)来执行此操作?

谢谢。

回答:

简短的答案是:没有,没有标准的方法可以做到这一点。

您必须使用本机sql。

您可能可以扩展Oracle Hibernate方言并添加一些用户功能/扩展名,以使hibernate生成PRIOR或CONNECT

BY子句,但这将阻止您的应用程序严格依赖JPA和数据库。

以上是 JPA查询以获取整棵树 的全部内容, 来源链接: utcz.com/qa/419980.html

回到顶部