У меня есть древовидный объект, управляемый Hibernate. У объекта есть список дочерних элементов, и у каждого дочернего элемента есть свой custom_order
в пределах родительского элемента:
<hibernate-mapping>
<class name="MyClass" .../>
<property .../>
<property .../>
<list name="children" cascade="save-update" inverse="false">
<key column="parent_id"/>
<index column="custom_order"/>
<one-to-many class="MyClass"/>
</list>
</hibernate-mapping>
Здесь custom_order
существует для того, чтобы поддерживать порядок дочерних элементов в родительском элементе, но не имеет представления в Java POJO и управляется непосредственно Hibernate. Единственное, что мне нужно сделать, это предоставить список, и custom_order
будет сгенерирован автоматически. Пока все хорошо.
То, чего я хочу добиться, - это возможность использовать Criteria API и заказывать по custom_order
. На данный момент я просто не могу сделать ничего подобного
criteria.addOrder(Order.asc("custom_order"));
потому что такого свойства POJO нет.
Вопрос: есть ли способ использовать Criteria API для этого сценария без добавления POJO getter / setter?
РЕДАКТИРОВАТЬ: Я не против добавить соответствующий атрибут custom_order
в MyClass
, но я просто не думаю, что это возможно в Hibernate.