java - 如何忽略本机查询中的@Where 子句?
问题描述
我有两个表之间的本机查询,第一个和第二个。
本机查询由第一个实体与第二个内部连接组成,其中第二列exists
必须 = 1,但是在第二个表的表示中,有一个@Where
子句定义固定值 = 0,只要该表是“访问”。
我的困难是,即使我输入我希望我的结果基于exist = 1
JPA“自动”进行的关系查询的本机查询,也将值设置为 0。
我希望在我的本机查询中忽略中@Where(exist = 0)
描述的这个子句。SecondTable
我能做到这一点吗?
对不起我的英语!:)
这是示例代码:
public class FirstTable {
private Long id;
@OneToOne()
@JoinColumn(name = "secondTable")
private SecondTable secondTable;
// another columns...........
@Where(clause = "EXIST = 0")
public class SecondTable {
private Long id;
// another columns...........
@Query(value = "select * from FirstTable FT
inner join SecondTable ST
on FT.secondTable=ST.id
where ST.EXIST = 1", nativeQuery = true)
List<FirstTable> searchFistTable();
// ....
解决方案
推荐阅读
- security - 实现将请求转发到客户站点的 Web 应用程序网关
- javascript - 带有 Karma 和 Jasmine 测试的 Angular 11 被破坏
- angular - 如何隐藏位置更改,但在 url 中以角度 9 显示参数
- python - 类的“Python NameError:未定义名称”
- docker - 如何将 docker 进程结果导出到本地文件 - 同时通过 ssh 连接到主机?
- pandas - PANDAS:在 value_counts() 中传递 normalize=True 只返回零
- php - 使用必填字段验证非必填关联数组
- google-cloud-platform - 如何将 GCP Cloud Monitoring (Stackdriver) 警报政策周期设置为大于 24 小时?
- c# - Razor 页面 - 在 dotnet core 5 中创建用户配置文件并从 Azure AD 声明中检索数据
- c++ - 在 c++ 98 和 berkeley 套接字中读取和存储 UDP 数据报流