添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Homme Profil pro
Développeur Java
Inscrit en
Janvier 2018
Messages
6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : Janvier 2018
Messages : 6
Points : 4
Points
4
Bonjour tout le monde,
Je sais pas est ce que c'est le bon endroit pour postulé,
voici le problème
j'ai une fonction qui permet de me sortir le count de 2 attribut:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public List<Long> searchAnomByStatEmis(List<Long> idsChannel,String annee) {
			TypedQuery<Long> queryEmis = entityManager.createQuery(
			           "SELECT count(id), to_char(c.dateCreation,'MM') FROM AnomalieEntity c WHERE c.channel.id IN (:ids) and to_char(c.dateCreation,'YYYY') = :annee "
			           + "group by to_char(c.dateCreation,'MM')", Long.class);
				 queryEmis.setParameter("ids", idsChannel);
				 queryEmis.setParameter("annee", annee);
		 return queryEmis.getResultList();
le problème c'est que le type de retour !
est ce que y'a une solution pour qu'il me sort les count des 2 attribut ?
merci
Homme Profil pro
Développeur Java
Inscrit en
Janvier 2018
Messages
6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : Janvier 2018
Messages : 6
Points : 4
Points
4
j'ai aussi modifier la type de retour en List<Map>:
comme suit, mais je sais pas est ce que c'est au niveau de la réquéte hql qui pose problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
TypedQuery<Map> queryEmis = entityManager.createQuery(
			           "SELECT new map(count(c.id) as count, to_char(c.dateCreation,'MM') as mois) FROM AnomalieEntity c WHERE c.channel.id IN (:ids) and to_char(c.dateCreation,'YYYY') = :annee"
			           + "group by to_char(c.dateCreation,'MM')", Map.class);
				 queryEmis.setParameter("ids", idsChannel);
				 queryEmis.setParameter("annee", annee);
				 List<Map> rt = queryEmis.getResultList();
				 return rt;
Le message d'erreur de postman :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<b>Stack Trace</b>
        <br/>org.jboss.resteasy.spi.UnhandledException: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: by near line 1, column 193 [SELECT new map(count(c.id) as count, to_char(c.dateCreation,'MM') as mois) FROM fr.skf.ra.entity.AnomalieEntity c WHERE c.channel.id IN (:ids) and to_char(c.dateCreation,'YYYY') = :anneegroup by to_char(c.dateCreation,'MM')]
        <br/>org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:77)
        <br/>org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220)
        <br/>org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:175)
        <br/>org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
        <br/>org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
        <br/>org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
        <br/>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        <br/>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        <br/>javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        <br/>io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        <br/>io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
        <br/>fr.skf.ra.filters.CrossOriginFilter.doFilter(CrossOriginFilter.java:35)
        <br/>io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
        <br/>io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
        <br/>io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
        <br/>io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        <br/>io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        <br/>org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        <br/>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        <br/>io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        <br/>io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        <br/>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        <br/>io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        <br/>io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        <br/>io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
        <br/>io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
        <br/>io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        <br/>io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        <br/>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        <br/>org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        <br/>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        <br/>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
        <br/>io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
        <br/>io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
        <br/>io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
        <br/>io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
        <br/>io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
        <br/>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        <br/>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        <br/>java.lang.Thread.run(Thread.java:748)
					
Homme Profil pro
Ingénieur développement logiciels
Inscrit en
Avril 2007
Messages
25 481
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : Belgique

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : Avril 2007
Messages : 25 481
Points : 48 803
Points
48 803
Homme Profil pro
Développeur Java
Inscrit en
Janvier 2018
Messages
6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : Janvier 2018
Messages : 6
Points : 4
Points
4
Merci pour votre réponse,
En effet il manque un espace, je l'es corriger
ce que je veut faire c'est de sortir le nombre d'une ligne de table par critère
j'ai changer le type de retour en map : il m'affiche en Json par appel au service comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
[
        "count": 1,
        "mois": "04"
        "count": 1,
        "mois": "05"
comment je peut faire pour que ma fonction me sort le résultat de 2 requête ?
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
 
TypedQuery<Map> queryEmis = entityManager.createQuery(
			           "SELECT new map(count(c.id) as count, to_char(c.dateCreation,'MM') as mois) FROM AnomalieEntity c WHERE c.channel.id IN (:ids) and to_char(c.dateCreation,'YYYY') = :annee"
			           + "group by to_char(c.dateCreation,'MM')", Map.class);
TypedQuery<Map> queryTrait = entityManager.createQuery(
				"SELECT new map(count(c.id) as count, to_char(c.dateCreation,'MM') as mois) FROM AnomalieClosureEntity a, AnomalieEntity c"
						+ " WHERE a.id=c.id and c.channel.id IN (:ids) and to_char(c.dateCreation,'YYYY') = :annee"
								+ " group by to_char(a.dateClosure,'MM')",Map.class);
				 queryEmis.setParameter("ids", idsChannel);
				 queryEmis.setParameter("annee", annee);
				 List<Map> re = queryEmis.getResultList();
                                 List<Map> rt = queryTrait.getResultList();
                                 //return ??
                                  // type de retour de la fonction ?
des idées ?

Vous avez un bloqueur de publicités installé.

Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.

Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.