我有一个类对所有类别进行建模,并且它们可以按层次结构排序。
@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 查询)来完成此操作?
Thanks.
简短的回答是;不,没有标准方法可以做到这一点。
您必须使用本机 sql。
您也许能够扩展 Oracle Hibernate Dialect 并添加一些用户函数/扩展以使 hibernate 生成 PRIOR 或 CONNECT BY 子句,但这将阻止您的应用程序严格独立于 JPA 和数据库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)