this.partService .query({ 'item.deleted.specified': false, page: pageToLoad - 1, size: this.itemsPerPage, sort: this.sort(), }) 以上是一段angular前端的代码,这是一个part表的条件查询,后端数据库是sqlserver,使用的是hibernate的orm框架,其中 'item.deleted.specified': false,条件中的deleted字段是item表中的字段 part表和item表是外键关联的但是他们的关联很特殊 他们关联的字段是两个表的主键也就是说两个表公用一个主键 现在这段代码的 'item.deleted.specified': false,条件是不好用的帮我分析不好用的原因并帮我修改好这段代码
时间: 2024-03-12 17:42:59 浏览: 68
fern-git-status.vim:file在文件上添加Git状态徽章集成
根据您提供的信息,'item.deleted.specified': false 是一个Hibernate特有的查询条件,用于查询实体中是否设置了删除标志位。在SQL Server中,这个查询条件是无效的。
如果您想查询part表中已删除的记录,可以尝试使用以下查询条件:
```
this.partService.query({
page: pageToLoad - 1,
size: this.itemsPerPage,
sort: this.sort(),
deleted: true,
'item.id IS NOT NULL': ''
})
```
这个查询条件使用了两个条件:deleted 和 'item.id IS NOT NULL'。其中 deleted 表示查询已删除的记录,'item.id IS NOT NULL' 表示查询 part 和 item 表关联的记录。因为 part 和 item 表使用相同的主键,所以可以通过判断 item.id 是否为 null 来查询 part 表中已经被删除的记录。
希望这个回答能够帮助您解决问题。
阅读全文