gpt4 book ai didi

java - 在 Hibernate 4.3.4 中覆盖 @Where 子句条件

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:29:58 25 4
gpt4 key购买 nike

我有一个这样的示例代码片段-

@Entity
@Table(name = "employee")
@Where(clause = "active IS TRUE")
public class Employee{
}

这将获取 employee 表中具有 active=true 或 1 的所有记录。在某些情况下,可能需要我加载具有 active=false 或 0 的记录。

如果我将代码编写为 FROM Employee emp WHERE emp.active IS FALSE 但生成的查询包含 bot HQL 和注释中给出的条件。

因此,预期的结果并没有到来。无论如何要覆盖在实体上定义的这个预定义的@Where

最佳答案

我知道这个问题太老了,但我遇到了同样的问题,认为我应该分享我的解决方法。

完全同意@cнŝdk 的回答,因为你不能覆盖但你可以忽略 @Where子句通过定义 nativeQuery如下:

@Query(value = "Select * from customer where company_id = ?1", nativeQuery = true) List<Customer> findByCompanyIdIgnoringEntityWhere(Long companyId);

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

关于java - 在 Hibernate 4.3.4 中覆盖 @Where 子句条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com