JPQL和Criteria API:
SELECT o
FROM Order o JOIN TREAT(o.product AS Book) b
CriteriaQuery<Order> query = cb.createQuery(Order.class);
Root<order> root = query.from(Order.class)
Join product = root.join("product");
Join book = cb.treat(product, Book.class);
query.select(root);
它们是同一个查询吗?对于条件API,cb.treat(...)创建一个新实例 Join(book),但在Query中没有使用join(book)。
对于JPQL,根连接到已处理的JOIN(书)。