Ignore Hibernate @Where annotation

Zecrates picture Zecrates · Feb 22, 2010 · Viewed 13.4k times · Source

I have an Entity which has an association to another Entity annotated with @Where, like so

public class EntityA {

    @OneToMany
    @Where(...)
    private List<EntityB> entityBList;

}

Recently the inevitable has happened, I need to load EntityB's that don't conform to the @Where clause. I could remove the @Where annotation, but it is used a lot, so ideally I don't want to do that. Apart from loading the list of EntityB's manually, with another query, what are my options? Can I tell Hibernate to ignore the @Where annotation?

Answer

Yuri Hassle Ara&#250;jo picture Yuri Hassle Araújo · Jul 9, 2018

I just had the same question. I solved the problem like this:

@Query(value="SELECT * FROM EntityA", nativeQuery=true)
public ignoreWhereMethod(){}

The SQL in the @Query annotation must point the table's name and the fields' names (not entity's name).