Bonjour à tous !

Alors je viens vers vous car je contre un soucis pour faire un count combiné à un MapJoin

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
public long countItems(final String title, final String url) {
		CriteriaBuilder builder = entityManager.getCriteriaBuilder();
		CriteriaQuery<CmsItem> query = builder.createQuery(entityClass);
		Root<CmsItem> page = query.from(entityClass);
		query.select(page);
		MapJoin<Map<Lang, CmsItemLang>, Lang, CmsItemLang> mapJoin = page
				.joinMap("cmsItemLang");
 
		List<Predicate> predicateList = new ArrayList<Predicate>();
		Predicate titlePredicate, urlPredicate;
		if ((title != null) && (!(title.isEmpty()))) {
			titlePredicate = builder.like(
					builder.upper(mapJoin.value().<String> get("metaTitle")),
					"%" + title.toUpperCase() + "%");
			predicateList.add(titlePredicate);
		}
		if ((url != null) && (!(url.isEmpty()))) {
			urlPredicate = builder.like(
					builder.upper(mapJoin.value().<String> get("linkRewrite")),
					"%" + url.toUpperCase() + "%");
			predicateList.add(urlPredicate);
		}
 
		Predicate[] predicates = new Predicate[predicateList.size()];
		predicateList.toArray(predicates);
		query.where(predicates).distinct(true);
 
		CriteriaQuery<Long> cq = builder.createQuery(Long.class);
		cq.select(builder.count(cq.from(entityClass)));
		entityManager.createQuery(cq);
		cq.where(predicates);
		Long count = entityManager.createQuery(cq).getSingleResult();
 
		return count;
	}
Je précise que j'utilise Hibernate 4.2.3 comme implémentation de JPA.

Voici l'erreur que ça me sort :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
org.hibernate.QueryException: could not resolve property: linkRewrite of: com.demkocompany.models.CmsItem [select count(*) from com.demkocompany.models.CmsItem as generatedAlias0 where upper(generatedAlias0.linkRewrite) like :param0]
je précise que j'ai 2 méthodes une qui me ramène tous les résultat de la recherche et celle ci-dessus qui me est censé me faire le count du nombre total de résultat de la recherche !
Quand je passe un parametre : ici la String correspondant à linkRewrite ... Boom ça pète ...
Quand je regarde la requette génère on dirait que ça fait n'importe quoi ...
Je pense que c'est lié au MapJoin car j'ai d'autre requette similaire sans MapJoin et je n'ai jamais eu de soucis.

Un peu d'aide serait le bienvenu

Merci d'avance