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