使用QueryDsl查询,主表条件和从表条件的条件同时存在
时间: 2024-05-10 22:14:12 浏览: 64
ACCESS多表多条件查询
可以使用`leftJoin`方法将从表关联到主表,然后在`where`方法中同时添加主表和从表的条件。
例如,假设有两张表`Order`和`OrderItem`,并且需要查询订单总价大于100且订单中存在商品名称为"Apple"的订单,可以这样写:
```java
QOrder order = QOrder.order;
QOrderItem orderItem = QOrderItem.orderItem;
List<Order> orders = new JPAQueryFactory(entityManager)
.selectFrom(order)
.leftJoin(order.items, orderItem)
.where(order.totalPrice.gt(100)
.and(orderItem.name.eq("Apple")))
.fetch();
```
这里使用了`leftJoin`方法将`OrderItem`表关联到`Order`表,然后在`where`方法中同时添加了`Order`表和`OrderItem`表的条件。
阅读全文