Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JOIN中使用JPA标准API 我有五张表格:公司、产品/服务、地址、国家和地区 城市 一个公司可以有n个类别的产品,1个地址和1个国家 地址实体内有1个城市 一位用户选择了“英格兰-利兹” 我现在知道,我必须从db where city中选择每家公司 是利兹,在产品/服务列表中填入这些公司的 产品或服务。之后,用户可以选择例如牙医 从第三个列表中 在那之后,我认识了恩尔甘德-利兹-牙医,我必须去那里 最后一份名单及简编(利兹牙医)_Jpa_Join - Fatal编程技术网

如何在JOIN中使用JPA标准API 我有五张表格:公司、产品/服务、地址、国家和地区 城市 一个公司可以有n个类别的产品,1个地址和1个国家 地址实体内有1个城市 一位用户选择了“英格兰-利兹” 我现在知道,我必须从db where city中选择每家公司 是利兹,在产品/服务列表中填入这些公司的 产品或服务。之后,用户可以选择例如牙医 从第三个列表中 在那之后,我认识了恩尔甘德-利兹-牙医,我必须去那里 最后一份名单及简编(利兹牙医)

如何在JOIN中使用JPA标准API 我有五张表格:公司、产品/服务、地址、国家和地区 城市 一个公司可以有n个类别的产品,1个地址和1个国家 地址实体内有1个城市 一位用户选择了“英格兰-利兹” 我现在知道,我必须从db where city中选择每家公司 是利兹,在产品/服务列表中填入这些公司的 产品或服务。之后,用户可以选择例如牙医 从第三个列表中 在那之后,我认识了恩尔甘德-利兹-牙医,我必须去那里 最后一份名单及简编(利兹牙医),jpa,join,Jpa,Join,我怎样才能只查询那些拥有“牙医”类别产品的公司 CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery<Company> criteria = criteriaBuilder.createQuery( Company.class ); Root<Company> companyRoot = criteria.from( Company.class ); //criteria.sel

我怎样才能只查询那些拥有“牙医”类别产品的公司

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();

CriteriaQuery<Company> criteria = criteriaBuilder.createQuery( Company.class );
Root<Company> companyRoot = criteria.from( Company.class );
//criteria.select(companyRoot);

TypedQuery<Company> q = em.createQuery(criteria);
List<Company> results = q.getResultList();
CriteriaBuilder-CriteriaBuilder=em.getCriteriaBuilder();
CriteriaQuery条件=criteriaBuilder.createQuery(Company.class);
Root companyRoot=标准。来源(Company.class);
//标准。选择(companyRoot);
TypedQuery q=em.createQuery(条件);
List results=q.getResultList();
现在我有了所有的公司,我怎么才能只选择正确类别的公司呢?我想我需要加入,但我不知道如何使用它。

使用JOIN()

看,,

public class Product implements java.io.Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "productId", unique = true, nullable = false)
private Integer productId;
private Short branchId;
private String productName;
private String sku;
private String category; ------> I am using this field in company search (dentists, garages etc.)
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();

CriteriaQuery<Company> criteria = criteriaBuilder.createQuery( Company.class );
Root<Company> companyRoot = criteria.from( Company.class );
//criteria.select(companyRoot);

TypedQuery<Company> q = em.createQuery(criteria);
List<Company> results = q.getResultList();
criteriaBuilder.equal(companyRoot.join("products").get("category"), "dentist")