Sobrescrever anotação @Where JPA

0 respostas
jpajavahibernate
J

Olá, estou com um problema em uma query. A persistencia é contruida com JPA e existe uma anotação @where na entity que “chumba” um valor 0 para essa coluna em qualquer where feito nessa entity. Ou seja se vc fizer um select por id por exemplo, automaticamente o hibernate vai inserir mais um where onde aquela coluna especificada no @where seja 0.

O problema é que agora eu tenho um where nessa coluna onde for = 1 e o hibertante sobrescreve meu where e trazer somente os registros com valor 0.

Minha dúvida é existe alguma forma de ignorar esse where somente nessa minha query? vou inserir o código abaixo.

Obrigado!

SELECT blah blah blah

Aqui inner join com a tabela que eu tenho que fazer o inner join

inner join
        minhatabela mtabela 
            on outratabela.id=mtabela.id_outratabela 
            and (
                mtabela.coluna = 0 // Este where entra automaticamente toda vez que essa tabela é usada por conta da anotação @where na entity
            )

from
    outratabela
        where

outratabela.id=66666666 
        and minhatabela.coluna=1

Minha entity

@Entity @Table(name = "minhatabela") @Data @Builder @NoArgsConstructor
@AllArgsConstructor @Where(clause = "coluna = 0") //Esta anotação sobrescreve, porém não posso tirar ela pois é usada em todo sistema e teria que mexer em varios pontos.
public class MinhaTabela {

Existe alguma forma de ignorar essa anotação somente nessa minha criteria?

Obrigado!

Criado 4 de maio de 2020
Respostas 0
Participantes 1