0
respostas

Como ignorar a cláusula @Where em uma native query

Eu tenho uma native query entre duas tabelas, primeira e segunda. a consulta nativa é feita na primeira com um innerjoin com a segunda onde a segunda coluna deve ser exist= 1; no entanto, na representação da segunda tabela, existe a cláusula @Where que define um valor fixo de = 0, sempre que tabela é "acessada". Minha dificuldade é que, mesmo se eu colocar na minha nativequery que eu quero que meu resultado seja baseado em exist = 1, a consulta de relacionamento feita "automaticamente" pela JPA define o valor como 0. Eu gostaria que essa cláusula @Where exist = 0 descrita em SecondTable fosse ignorada na minha consulta nativa.

Tem como?

Aqui está o código de exemplo:

public class FirstTable  {

private Long id;

@OneToOne()
@JoinColumn(name = "secondTable")
private SecondTable secondTable;

outras colunas...........



@Where(clause = "EXIST = 0")
public class SecondTable  {

private Long id;

outras colunas..........


@Query(value = "select * from FirstTable FT 
                  inner join SecondTable ST  
                  on FT.secondTable=ST.id
                  where ST.EXIST = 1", nativeQuery = true)
List<FirstTable> searchFistTable();     

Alguém saberia me dizer o que fazer numa situação assim?