bonjour j'aimerais pour la requette jpa suivante :
@NamedQuery(name = "SessionPersonne.findAllPasVisiteByCategories",query = "SELECT COUNT(p),cat.nomCategorie FROM SessionPersonne s JOIN s.personne p, s.categorie cat , s.session session WHERE session.keySession = :keySession and size(s.passageCollection) = 1 and s.dateCreation BETWEEN :statDate and :endDate GROUP BY cat.nomCategorie "),
pour size(s.passageCollection) = 1 compter uniquement les passageCollection qui on une date différente jour , mois , année différente .
Merci d'avance .
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package fr.ietevents.client.Entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
/**
*
* @author IETEVENTS
*/
@Entity
@Table(name = "Passage")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Passage.findAll", query = "SELECT p FROM Passage p"),
@NamedQuery(name = "Passage.findByKeyPassage", query = "SELECT p FROM Passage p WHERE p.keyPassage = :keyPassage"),
@NamedQuery(name = "Passage.findByMomentDePassage", query = "SELECT p FROM Passage p WHERE p.momentDePassage = :momentDePassage"),
@NamedQuery(name = "Passage.findByPassage", query = "SELECT p FROM Passage p WHERE p.passage = :passage"),
@NamedQuery(name = "Passage.findByTrouver", query = "SELECT p FROM Passage p WHERE p.trouver = :trouver")})
public class Passage implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "KeyPassage")
private String keyPassage;
@Column(name = "MomentDePassage")
@Temporal(TemporalType.DATE)
private Date momentDePassage;
@Size(max = 90)
@Column(name = "Passage")
private String passage;
@Size(max = 1)
@Column(name = "Trouver")
private String trouver;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "KeyHotesse")
private Hotesse hotesse;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "KeySessionPersonne")
private SessionPersonne sessionPersonne;
public Passage() {
}
public Passage(String keyPassage) {
this.keyPassage = keyPassage;
}
public String getKeyPassage() {
return keyPassage;
}
public void setKeyPassage(String keyPassage) {
this.keyPassage = keyPassage;
}
public Date getMomentDePassage() {
return momentDePassage;
}
public void setMomentDePassage(Date momentDePassage) {
this.momentDePassage = momentDePassage;
}
public String getPassage() {
return passage;
}
public void setPassage(String passage) {
this.passage = passage;
}
public String getTrouver() {
return trouver;
}
public void setTrouver(String trouver) {
this.trouver = trouver;
}
public Hotesse getHotesse() {
return hotesse;
}
public void setHotesse(Hotesse hotesse) {
this.hotesse = hotesse;
}
public SessionPersonne getSessionPersonne() {
return sessionPersonne;
}
public void setSessionPersonne(SessionPersonne sessionPersonne) {
this.sessionPersonne = sessionPersonne;
}
@Override
public int hashCode() {
int hash = 0;
hash += (keyPassage != null ? keyPassage.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Passage)) {
return false;
}
Passage other = (Passage) object;
if ((this.keyPassage == null && other.keyPassage != null) || (this.keyPassage != null && !this.keyPassage.equals(other.keyPassage))) {
return false;
}
return true;
}
@Override
public String toString() {
return "fr.ietevents.client.Entity.Passage[ keyPassage=" + keyPassage + " ]";
}
} |
Partager