我有一个名为Category的Java bean,它有两个相同类型的变量,分别命名为parentCategory和childCategory。
使用HQL,我从myCategory获取父类和子类没有任何问题。
@Transactional(readOnly = true)
public Category getChildCategory(int id) {
return (Category) hibernateTemplate.getSessionFactory()
.getCurrentSession()
.createQuery("SELECT cat.childCategory From Category cat WHERE cat.id= :id");
}
@Transactional(readOnly = false)
public Category getParentCategory(int id) {
return (Category) hibernateTemplate.getSessionFactory()
.getCurrentSession()
.createQuery("SELECT cat.parentCategory From Category cat WHERE cat.id= :id");
}
我现在想做的是从一个类别中获取所有父母和孩子类别。我们的想法是保持循环,直到category.getParentCategory()为null。但我不知道如何在HQL中表达这一点。有任何想法吗?