Hibernate поддерживает Modified Preorder Tree Traversal, который позволяет вам определять левый / правый свойства. Однако он не поддерживает иерархические запросы, но довольно просто ре-иерархизировать объекты из линейного запроса, если вы упорядочиваете это по левому значению.