jpa2.2.10 JpaSpecificationExecutor Specification 查询实体类指定字段并且不查询实体类关联表具体怎么写
时间: 2023-06-03 17:06:03 浏览: 106
Myeclipse自动生成注解实体类O---JPA方式
3星 · 编辑精心推荐
对于您关于 JPA 中 JpaSpecificationExecutor 的 Specification 查询实体类指定字段并且不查询实体类关联表的问题,可以按照以下方法实现:
1. 定义 Root 对象并查询指定字段。使用 Root 对象查询指定字段,可以使用 Root 的 get 函数,比如:
```java
CriteriaQuery<Tuple> query = cb.createTupleQuery();
Root<User> root = query.from(User.class);
query.multiselect(root.get("id"), root.get("username"));
```
2. 在 Specification 的 toPredicate 方法中指定查询条件。在 toPredicate 方法中,使用 Root 对象和 CriteriaBuilder 对象构建查询条件,可以通过使用 Root 对象进行 Equal、Like 等查询:
```java
@Override
public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
Predicate predicate = cb.equal(root.get("gender"), "FEMALE");
return predicate;
}
```
通过以上方法可以实现 JPA 中 JpaSpecificationExecutor Specification 查询实体类指定字段并且不查询实体类关联表。
阅读全文