this.partService.query({ 'item.deleted.specified': false, // 修改为 item.deleted 字段 'page': pageToLoad - 1, 'size': this.itemsPerPage, 'sort': this.sort() })这么写还是不好用
时间: 2023-12-31 14:04:42 浏览: 76
如果您按照上述方式修改代码后仍然无法正常工作,可能是因为 Hibernate 中的关联查询语法需要特殊处理。您可以尝试使用 Hibernate 的 Criteria
或 HQL
查询语句来实现此功能。
以下是使用 Criteria
查询的示例代码:
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Part.class, "part");
criteria.createAlias("part.item", "item"); // 关联 item 表
criteria.add(Restrictions.eq("item.deleted", false)); // 添加查询条件
List<Part> parts = criteria.list();
这段代码中,通过 createAlias
方法关联了 part
表和 item
表,然后使用 add
方法添加了 item.deleted = false
的查询条件。最后使用 list
方法执行查询并返回查询结果。
如果您想使用 HQL
查询语句,可以尝试以下代码:
String hql = "from Part p where p.item.deleted = false";
List<Part> parts = sessionFactory.getCurrentSession().createQuery(hql).list();
这段代码中,使用 from
关键字指定了要查询的实体类,然后通过 p.item.deleted
来访问关联的 item
表中的 deleted
字段,并添加了查询条件。最后使用 list
方法执行查询并返回查询结果。
请注意,以上示例代码中的 sessionFactory
是 Hibernate 的 SessionFactory
对象,您需要根据实际情况进行修改。
阅读全文
相关推荐









