我需要使用CriteriaBuilder创建以下查询
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
CriteriaBuilder代码:
CriteriaBuilder builder = manager.getCriteriaBuilder();
CriteriaQuery<Customers> criteriaQuery = builder.createQuery(Customers.class);
Root<Customers> root = criteriaQuery.from(Customers.class);
Join<Customers, Orders> emailTemplateMaster = root.join(Customers_.customerId, JoinType.INNER);
不需要知道剩余的代码如何关联表
我已经使用了Join功能。但是我的问题是如何获得带有订单的客户清单。
答案 0 :(得分:0)
尝试此方法。
CriteriaQuery<String> q = cb.createQuery(String.class);
Root<Order> order = q.from(Order.class);
q.select(order.get("shippingAddress").<String>get("state"));
CriteriaQuery<Product> q2 = cb.createQuery(Product.class);
q2.select(q2.from(Order.class)
.join("items")
.<Item,Product>join("product"));
链接:https://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaQuery.html