Фильтрация по датам на всех уровнях картографирования Объединение hibernate JPA [дубликат]

Если это происходит в тестовом классе, убедитесь, что вы не забыли аннотировать класс.

Например, в Spring Boot:

@RunWith(SpringRunner.class)
@SpringBootTest
public class MyTests {
    ....
2
задан Quincy 15 March 2011 в 09:01
поделиться

2 ответа

Нет. По крайней мере, не так, как вы просили. Как только вы попросите Hibernate попасть в базу данных (с помощью метода list()), Hibernate сделал свою часть, и результаты теперь находятся в ваших руках. Вы можете реализовать логику фильтрации в своем коде для последующей обработки результатов.

Тем не менее, можно отфильтровать результаты в самом запросе. Если вы зададите фильтр Hibernate и включите его для конкретной модели / запроса, вы сможете сохранить исходный запрос HQL, а Hibernate добавит его с дополнительными where предложениями для дальнейшего фильтрации результатов. См. Это:

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/filters.html

2
ответ дан jpkrohling 22 August 2018 в 20:14
поделиться
  • 1
    Я попытался использовать метод session.enableFilter (), но кажется, что он не работает. Наверное, потому что я собираю коллекцию. Поправьте меня, если я ошибаюсь. – Quincy 15 March 2011 в 08:56
  • 2
    Ссылка, упоминаемая @partenon, подробно описывает использование фильтров. И нет - это не сломано, потому что вы извлекаете коллекцию. Вероятно, вы пропустите еще одну часть конфигурации. – Daniel Bleisteiner 15 March 2011 в 09:13
  • 3
    Я имею в виду сбор сборников, но не отфильтрованную коллекцию. Я устанавливал фильтр в классе заголовка, но каким-то образом он не запускался с использованием HQL выше. Должен ли я помещать фильтр в коллекцию заголовка элемента? – Quincy 15 March 2011 в 09:57
  • 4
    Похоже, что Hibernate не позволяет мне помещать фильтр во многих отношениях. Любое обходное решение? Я просто хочу отфильтровать некоторые результаты, которые не удовлетворяют некоторым дополнительным условиям. – Quincy 15 March 2011 в 10:07

Лучшим способом было бы использовать Criteria . Вот пример из Hibernate Documentation, который объясняет использование критериев .

Критерии будут использоваться до вызова метода списка.

Надеюсь, что это помогает.

2
ответ дан Nilesh 22 August 2018 в 20:14
поделиться
  • 1
    Я должен использовать HQL вместо критериев из-за сложности HQL_SOMEDEFAULTQUERY – Quincy 15 March 2011 в 08:55
Другие вопросы по тегам:

Похожие вопросы: