У меня есть таблица Stuff
определяется как ...Обработка безалкогольных удалений с Spring JPA
id, <fields>..., active
Активный является флаг мягкого удаления и всегда 1
или 0
. В долгосрочной перспективе это может уйти в пользу исторической таблицы.
public interface StuffRepository extends JpaRepository<StuffEntity, Long> {}
В коде, мы всегда использование активных записей. Есть ли способ заставить Spring всегда добавлять условие active=1
к запросам, сгенерированным для этого репозитория? Или, что еще лучше, позвольте мне расширить грамматику, используемую для генерации запросов?
Я понимаю, что я могу создать имя @queues
всюду, но тогда я теряю удобство сгенерированных запросов. Я также хочу избежать загрязнения интерфейса «активными» методами.
Я использую Hibernate 4.2 в качестве моей реализации JPA, если это имеет значение.
Я верю, что это центральный вопрос с гибернатом. Если у вас есть документы, которые показывают, что функция '@ Where' является функцией JPA или Spring, поделитесь ею. –
Да, это решение Hibernate. Я упомянул об этом в первом абзаце ответа, но, по-видимому, я не был на 100% понятен. Итак - это решение использует аннотацию @Where Hibernate. Извините, спасибо за исправление. ПО ПУТИ - человек, который задал вопрос, использует спящий режим (4.2), что было основной причиной для меня ответа, который соответствует его потребностям. –