hibernate - 忽略Hibernate @Where批注

标签 hibernate annotations where-clause

我有一个实体,该实体与另一个用@Where注释的实体有关联,就像这样

public class EntityA {

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

}

最近不可避免的事情发生了,我需要加载不符合@Where子句的EntityB。我可以删除@Where批注,但是它使用很多,所以理想情况下,我不想这样做。除了手动加载EntityB列表之外,还有另一个查询,我还有哪些选择?我可以告诉Hibernate忽略@Where注释吗?

最佳答案

我只是有同样的问题。我解决了这样的问题:

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

@Query批注中的SQL必须指向表的名称和字段的名称(而不是实体的名称)。

关于hibernate - 忽略Hibernate @Where批注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2311125/

相关文章:

sql - 问(kdb): nested where query

sql - 选择除以 2 后余数(模数)为 1 的行?

java - Hibernate:自动版本控制可空列

java - hibernate 与 EclipseLink

java - mysql character_set_results 没有改变

java - Java 接口(interface)中的默认方法返回值

mysql - 加入一对多与多个where

java - 在 DAO 类中找不到标记为传播 'mandatory' 异常的事务的现有事务

java - Spring @Bean Name,不适用于@Qualifier

java - 使用 Java Reflections 覆盖另一个类的方法