jpa - 获取与 JPA 中的条件查询连接的两个表的所有列

标签 jpa join criteria

我已经加入了两个带有 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/

相关文章:

java - JPA Criteria API 包含两个列表

java - eclipse 现有的 maven 项目添加 jpa 支持?

java - 截断要保存的字符串?

java - 事务标记为仅回滚 : How do I find the cause

cakephp - 排除 CakePHP 中的 hasMany 模型

sql - Sequelize : on a subset of model A, sum 关联模型 B 的整数属性

Hibernate 通过将值与 2 个串联字段匹配来获取记录

php - 我如何在 doctrine 2 实体的存储库中使用复杂的标准?

java - 如何在 GWT 项目中使用 JPA (Hibernate) 连接到 MySQL 数据库?

mysql - 计算联接中的字段并将结果分组到表中