Hibernate 6.4 отменяет ограничение @SoftDelete для получения всех записей

Я использовал аннотацию Hibernate @SoftDelete в одном из Entity, чтобы включить функцию обратимого удаления. Мне нужно получить все записи для одного из вариантов использования. Я также пробовал использовать спецификации JPA, собственный запрос и собственный запрос. Но все эти попытки я видел

and deleted=false

ограничение всегда автоматически добавляется в запрос. Следовательно, я не могу получить все записи независимо от удаленного состояния.

Как я могу этого добиться?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать аннотацию @SQLSelect для связанной сущности.

@Entity
@Table(name = "table_name1")
public class TableName1{
    ..............

    @JoinColumn(name = "tb2_id", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private TableName2 tableName2;
}

@Entity
@Table(name = "table_name2")
@SQLSelect(sql = "SELECT * from table_name2 WHERE id = ?") // <-- This part is the solution
public class TableName2{
............
}

Интересно, что эта аннотация не влияет на ваши методы поиска, но ваши отношения начнут использовать аннотированный SQL.

Если я правильно понял, ваше предложение с @SQLSelect на уровне сущности переопределит этот @SoftDelete эффект. Это? @Юсуф

Nipuna Perera 20.06.2024 17:50

Да, ты пробовал? Это сработало для моего случая.

Yusuf K. 21.06.2024 01:33

Да, это так @Юсуф. Спасибо за ваше время!

Nipuna Perera 04.07.2024 19:25

Другие вопросы по теме