Это запрос SQL, который я хочу, чтобы SpringBoot выполнил:
Select * from Departement
Where Departement.region.libelle like "fr"
![enter image description here](https://i.stack.imgur.com/v1VL8.png)
Часть "соединение" уже выполнена в объекте "departement. java":
@ManyToOne (fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "id_regions", nullable = false) // declarer la foreign key
private Region region;
В DepartementRepository. java
CriteriaQuery<Departement> criteriaQuery = criteriaBuilder.createQuery(Departement.class);
Root<Departement> entityRoot = criteriaQuery.from(Departement.class);
Root<Region> regionRoot = criteriaQuery.from(Region.class);
ParameterExpression<String> parameter = criteriaBuilder.parameter(String.class, "firstParameter");
List<Predicate> predicates = new ArrayList<Predicate>();
Expression<String> regionExp = regionRoot.<String>get("libelle");
predicates.add(criteriaBuilder.like(regionExp, parameter));
criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
TypedQuery<Departement> jpqlQuery = entityManager.createQuery(criteriaQuery);
jpqlQuery.setParameter("firstParameter", "%" + fr+ "%");
List<Departement> totalResults = jpqlQuery.getResultList();
Я хочу, чтобы результатом был объект типа "Departement", а не объединенный результат из двух таблиц ![enter image description here](https://i.stack.imgur.com/sQPMh.png)
Кто-нибудь знает, как этого добиться?