Как фильтровать коллекцию OneToMany внутри класса сущности с помощью Hybernate во время выполнения? ⇐ JAVA
Как фильтровать коллекцию OneToMany внутри класса сущности с помощью Hybernate во время выполнения?
Например, у меня есть две сущности:
@Entity Пользователь { @ManyToOne(mappedBy = "пользователь") Список комментариев; } @Сущность Комментарий { @ManyToOne Пользователь Пользователь; } Есть ли способ добавить метод с некоторыми условиями для комментариев, например:
@Entity Пользователь { @ManyToOne(mappedBy = "пользователь") Список комментариев; List getLastComments(int count) { // применяем критерии к запросу комментариев и получаем подмножество комментариев } } В PHP Doctrine я делал это следующим образом:
function getLastComments($count) { $criteria = \Doctrine\Common\Collections\Criteria::create(); $критерии->где( \Doctrine\Common\Collections\Criteria::expr()->eq("someField", "someValue") ); $criteria->orderBy(array("someField" => "DESC"); $criteria->setMaxResults($count); вернуть $this->comments->matching($criteria); } Можно ли сделать то же самое в Hibernate?
Например, у меня есть две сущности:
@Entity Пользователь { @ManyToOne(mappedBy = "пользователь") Список комментариев; } @Сущность Комментарий { @ManyToOne Пользователь Пользователь; } Есть ли способ добавить метод с некоторыми условиями для комментариев, например:
@Entity Пользователь { @ManyToOne(mappedBy = "пользователь") Список комментариев; List getLastComments(int count) { // применяем критерии к запросу комментариев и получаем подмножество комментариев } } В PHP Doctrine я делал это следующим образом:
function getLastComments($count) { $criteria = \Doctrine\Common\Collections\Criteria::create(); $критерии->где( \Doctrine\Common\Collections\Criteria::expr()->eq("someField", "someValue") ); $criteria->orderBy(array("someField" => "DESC"); $criteria->setMaxResults($count); вернуть $this->comments->matching($criteria); } Можно ли сделать то же самое в Hibernate?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение