我已经加入了两个带有 Jpa Api 标准的表。但我需要加入两个表的列:
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<FacturePoste> criteria = criteriaBuilder.createQuery(FacturePoste.class);
Root<FacturePoste> root = criteria.from(FacturePoste.class);
Join<FacturePoste, FactureEntete> contactInfoJoin = root.join("numeroFacture");
TypedQuery<FacturePoste> query = em.createQuery(criteria.multiselect(contactInfoJoin));list = query.getResultList();
请帮我。
最佳答案
您将必须传递如下所述的实体图作为查询和传递的提示
仅 root 在 criteria.select(root) 中。
CriteriaBuilder criteriaBuilder =
em.getCriteriaBuilder();
CriteriaQuery<FacturePoste> criteria =
criteriaBuilder.
createQuery(FacturePoste.class);
Root<FacturePoste> root =
criteria.from(FacturePoste.class);
Join<FacturePoste, FactureEntete>
contactInfoJoin =
root.join("numeroFacture");
TypedQuery<FacturePoste> query =
em.createQuery(criteria.select(root));
// Create an entity graph with a subgraph
EntityGraph<FacturePoste> graph =
em.createEntityGraph(FacturePoste.class);
graph.addSubgraph("numeroFacture");
query.setHint("javax.persistence.fetchgraph",
graph);
list = query.getResultList();
Note:It will be better if you use static
meta model instead of passing entity feild.
names directly.
关于jpa - 获取与 JPA 中的条件查询连接的两个表的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496158/