IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Problème d'écriture d'une requête:QueryParameterException


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut Problème d'écriture d'une requête:QueryParameterException
    Bonjour,

    J'ai un soucis avec la méthode suivante :

    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
     
    private String  jpql =  "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p";
     
    public List<Project> findUserProjectByCriteria(HashMap<String,String> columnValues, String username) throws FicheProjetException {		
    		if(StringUtil.isEmpty(username)) {
    			throw new FicheProjetException(FicheProjetError.USER_ID_IS_EMPTY);
    		}
    		String criteria = jpql + " WHERE u.username = :username AND";
    		for(String key  : columnValues.keySet()) {
    			criteria += " p."+ key +" = :"+ key + " AND";
    		}
    		criteria = criteria.substring(0,(criteria.length()>=1)? criteria.length()-3 : 0) + " ORDER BY p.daydate";
     
    		System.out.println(criteria);
    		//SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p WHERE u.username = :username AND p.comment = :comment  ORDER BY p.daydate   
    		List<Project> projects = new ArrayList<Project>();
    		try {
    			Query query = getEntityManager().createQuery(jpql, Project.class);
    			query.setParameter("username", username);
    			for(String key  : columnValues.keySet()) {
    				query.setParameter(key, columnValues.get(key));
    			}
    			projects = query.getResultList();
     
    		} catch (PersistenceException ex) {
    			throw new FicheProjetException(FicheProjetError.DAO_FIND_LIST_ERROR, ex);
    		}
    		return projects;
    	}
    Lors de mon test unitaire, j'ai cette erreur qui est renvoyée :

    java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [username].

    Classe User:

    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
    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
     
    /**
    * Entity users from database
    */
     
    @Entity
    @Table(name="users")
    @NamedQuery(name = "findUsersByAuthority",
    			query = "SELECT u FROM User u JOIN u.authorities a WHERE a.authority = :authority")
    public class User extends AbstractEntity<String> {
     
    	/**
            * Attributes from entity users
            */
     
    	@Id
    	private String username;
     
    	@Column(nullable = false)
    	private String password;
     
        @Column(nullable = false)
        private boolean enabled;
     
        @Column(name = "first_name", nullable = false)
        private String firstname;
     
        @Column(name = "last_name", nullable = false)
        private String lastname;
     
        @Column(nullable = false, unique = true)
        private String email;
     
        @OneToMany(cascade = CascadeType.ALL)
        @JoinColumn(name = "iduser", referencedColumnName = "username")
        private List<Authority> authorities;
     
        @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinTable(name = "users_project",
        joinColumns = {@JoinColumn(name="iduser", referencedColumnName = "username")},
        inverseJoinColumns = {@JoinColumn(name="idproject", referencedColumnName = "name")})
        private List<Project> projects;
     
        /**
            * Methods from entity users
            */
     
    	public String getUsername() {
    		return username;
    	}
     
    	public void setUsername(String username) {
    		this.username = username;
    	}
     
    	public String getPassword() {
    		return password;
    	}
     
    	public void setPassword(String password) {
    		this.password = password;
    	}
     
    	public boolean isEnabled() {
    		return enabled;
    	}
     
    	public void setEnabled(boolean enabled) {
    		this.enabled = enabled;
    	}
     
    	public String getFirstname() {
    		return firstname;
    	}
     
    	public void setFirstname(String firstname) {
    		this.firstname = firstname;
    	}
     
    	public String getLastname() {
    		return lastname;
    	}
     
    	public void setLastname(String lastname) {
    		this.lastname = lastname;
    	}
     
    	public String getEmail() {
    		return email;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
    	public List<Authority> getAuthority() {
    		if(authorities == null) {
    			return new ArrayList<Authority>();
    		}
    		return authorities;
    	}
     
    	public void setAuthority(List<Authority> authorities) {
    		this.authorities = authorities;
    	}
     
    	public List<Project> getProject() {
    		if(projects == null) {
    			return new ArrayList<Project>();
    		}
    		return projects;
    	}
     
    	public void setProject(List<Project> projects) {
    		this.projects = projects;
    	}
     
    	/**
            * Method from Superclass AbstractEntity
            */
     
    	@Override
    	public String toString() {
    		return "User [username=" + username + ", password=" + password
    				+ ", enabled=" + enabled + ", firstname=" + firstname
    				+ ", lastname=" + lastname + ", email=" + email
    				+ ", authorities=" + authorities + "]";
    	}
     
    	@Override
    	protected String getId() {
    		return username;
    	}
    }
    Et Classe Project:

    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
    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
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
     
    /**
     * Entity project from database
     */
     
    @Entity
    @Table(name = "project")
    @NamedQuery(name = "findUserProject", query = "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p WHERE u.username = :username ORDER BY p.daydate")
    public class Project extends AbstractEntity<String> {
     
    	public Project() {
    	}
     
    	public Project(String name, String company, String technology,
    			String comment) {
    		this.name = name;
    		this.company = company;
    		this.technology = technology;
    		this.comment = comment;
    	}
     
    	/**
             * Attributes from entity project
             */
     
    	@Id
    	private String name;
     
    	@Temporal(TemporalType.TIMESTAMP)
    	@Column(nullable = false, updatable = false)
    	private Date daydate;
     
    	@Column(nullable = false)
    	@Basic(fetch = FetchType.LAZY, optional = false)
    	private String company;
     
    	@Column(nullable = false)
    	private String technology;
     
    	@Column(nullable = false)
    	private String activity;
     
    	@Column(name = "initial_need", nullable = false)
    	private String initialneed;
     
    	@Column(nullable = false)
    	private String environment;
     
    	@Column(nullable = false)
    	private Integer volume;
     
    	@Column(nullable = false)
    	private Integer template;
     
    	@Column(nullable = false)
    	private String comment;
     
    	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    	@JoinColumn(name = "idproject", referencedColumnName = "name")
    	private List<Picture> pictures;
     
    	/**
             * Methods from entity project
             */
     
    	public String getName() {
    		return name;
    	}
     
    	public void setName(String name) {
    		this.name = name;
    	}
     
    	public Date getDaydate() {
    		return daydate;
    	}
     
    	public void setDaydate(Date daydate) {
    		this.daydate = daydate;
    	}
     
    	public String getCompany() {
    		return company;
    	}
     
    	public void setCompany(String company) {
    		this.company = company;
    	}
     
    	public String getTechnology() {
    		return technology;
    	}
     
    	public void setTechnology(String technology) {
    		this.technology = technology;
    	}
     
    	public String getActivity() {
    		return activity;
    	}
     
    	public void setActivity(String activity) {
    		this.activity = activity;
    	}
     
    	public String getInitialneed() {
    		return initialneed;
    	}
     
    	public void setInitialneed(String initialneed) {
    		this.initialneed = initialneed;
    	}
     
    	public String getEnvironment() {
    		return environment;
    	}
     
    	public void setEnvironment(String environment) {
    		this.environment = environment;
    	}
     
    	public Integer getVolume() {
    		return volume;
    	}
     
    	public void setVolume(Integer volume) {
    		this.volume = volume;
    	}
     
    	public Integer getTemplate() {
    		return template;
    	}
     
    	public void setTemplate(Integer template) {
    		this.template = template;
    	}
     
    	public String getComment() {
    		return comment;
    	}
     
    	public void setComment(String comment) {
    		this.comment = comment;
    	}
     
    	public List<Picture> getPictures() {
    		if (pictures == null) {
    			return new ArrayList<Picture>();
    		}
    		return pictures;
    	}
     
    	public void setPictures(List<Picture> pictures) {
    		this.pictures = pictures;
    	}
     
    	@PrePersist
        protected void onCreate() throws ParseException {
    	    this.daydate = new Date();
        }
     
    	/**
             * Method from Superclass AbstractEntity
             */
     
    	@Override
    	public String toString() {
    		return "Project [name=" + name + ", date=" + daydate +  ", company="
    				+ company + ", technology=" + technology + ", activity="
    				+ activity + ", initialneed=" + initialneed + ", environment="
    				+ environment + ", volume=" + volume + ", template=" + template
    				+ ", comment=" + comment + ", pictures=" + pictures + "]";
    	}
     
    	@Override
    	protected String getId() {
    		return name;
    	}
    }
    J'ai tester avec des paramètres ?1 sa me donne une autre erreur. Je me demandai si il était réellement possible de faire cette requete avec une createQuery ?? La même requête fonctione en @NamedQuery sans la clause where.

    Si quelqu'un à une idée, je suis débutant en Jpa....

    Merci encore

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    et en essayant ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @NamedQuery(name = "findUserProject", query = "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p WHERE u.username = :username ORDER BY p.daydate")
    avec comme passage de paramètre juste ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query.setParameter("username", username);
    En fait je veux que tu exclues le criteria que tu constituais et fasse tout simple avec passage de paramètre en dur, mais que t'expliques bien le NamedQuery avec clause Where.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    Bonjour,
    Merci pour cette réponse rapide. Je me suis mal expliqué mais cette requête fonctionne je l'ai déjà essayée et je m'en sert même.
    Voir ci dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public List<Project> findUserProject(String username, int startPosition, int maxResult) throws FicheProjetException {
    		if(StringUtil.isEmpty(username)) {
    			throw new FicheProjetException(FicheProjetError.USER_ID_IS_EMPTY);
    		}
    		List<Project> projects = new ArrayList<Project>();
    		try {
    			projects = getEntityManager().createNamedQuery("findUserProject").setFirstResult(startPosition).setMaxResults(maxResult).setParameter("username", username).getResultList();
    		} catch (PersistenceException ex) {
    			throw new FicheProjetException(FicheProjetError.DAO_FIND_LIST_ERROR, ex);
    		}	
    		return projects;
    	}
    Seulement voilà j'ai besoin de rendre cette requête dynamique et de rajouter des recherches sur différentes colonnes de ma table project.
    D'ou la map que ma méthode en paramètre qui spécifie sur quelle colonne et pour quelle valeur l'utilisateur va rechercher des projets.
    Si vous avez une idée de comment m'y prendre...

    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Le but de faire le test que je viens de te demander c'était de clarifier un point , pas de s’arrêter dessus , d'après ce que tu as dit plus haut la requête sans la clause WHERE marchait, or c'est pas vrai, d'après le test qu'on vient de faire, ce qui bloque c'est plutôt la constitution du criteria on est bien d'accord? Je suppose que l'attribut key est plutot présent dans la classe AbstractEntity? car je ne le vois pas dans Project. Peux tu mettre un point d'arrêt avant le lancement de ta requête, et nous montrer à quoi ressemble la requête JPQL que tu veux soumettre ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    Dans la premier bout de code que je fournis dans le premier post. J'ai fais un Sysout qui affiche la requête que j'ai tester avec Junit.

    Test unitaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @Test
    	public void testFindUserProjectByCriteria() throws FicheProjetException {
    		HashMap<String,String> columnValues = new HashMap<String, String>();
    		columnValues.put("comment", "BlaBla");
     
    		projects = daoProject.findUserProjectByCriteria2(columnValues, "d.lafont");
     
    		Assert.assertNotNull(projects);
    		Assert.assertEquals(projects.size(),1);
    	}
    Erreur renvoyé: java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [username].

    Méthode :
    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
     
    private String  jpql =  "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p";
     
    public List<Project> findUserProjectByCriteria(HashMap<String,String> columnValues, String username) throws FicheProjetException {		
    		if(StringUtil.isEmpty(username)) {
    			throw new FicheProjetException(FicheProjetError.USER_ID_IS_EMPTY);
    		}
    		String criteria = jpql + " WHERE u.username = :username AND";
    		for(String key  : columnValues.keySet()) {
    			criteria += " p."+ key +" = :"+ key + " AND";
    		}
    		criteria = criteria.substring(0,(criteria.length()>=1)? criteria.length()-3 : 0) + " ORDER BY p.daydate";
     
    		System.out.println(criteria);
    		//SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p WHERE u.username = :username AND p.comment = :comment  ORDER BY p.daydate   
    		List<Project> projects = new ArrayList<Project>();
    		try {
    			Query query = getEntityManager().createQuery(jpql, Project.class);
    			query.setParameter("username", username);
    			for(String key  : columnValues.keySet()) {
    				query.setParameter(key, columnValues.get(key));
    			}
    			projects = query.getResultList();
     
    		} catch (PersistenceException ex) {
    			throw new FicheProjetException(FicheProjetError.DAO_FIND_LIST_ERROR, ex);
    		}
    		return projects;
    	}
    La requête Jpql donne ça une fois construite: SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM User u JOIN u.projects p WHERE u.username = :username AND p.comment = :comment ORDER BY p.daydate .
    Et le paramètre key provient de l'ihm (l'utilisateur) qui va donner sur quelle collonne et quelle valeur il veux faire une recherche, d'ou ma HashMap<String,String> columnValues en paramètre de la méthode.
    Elle prend en key le colonne et pour valeur la valeur de la colonne que l'on recherche.

    Imagine en gros sur la requête d'avant je renvoyer la liste des projets que l'utilisateur peut consulté. Ici je renvois la même liste sauf que l'utilisateur va faire une recherche sur différente collonne de la table projet (d'ou la map).

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Essaie dans ta requête jpql de mettre le chemin complet du package menant à l'entité User.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String  jpql =  "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM package1.souspackage2.souspackage3.User u JOIN u.projects p";
    Et redis nous

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    Je viens d'essayer il me renvoi toujours la même erreur.

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    Il me viens peut être une idée : Je fais mais test actuellement grâce à une base de donnée Hsqldb embarquée dans mon application. La base de donnée finale sera elle une bd mysql. Et il possible que le test ne passe pas à cause du fait que ma bd soit une bd de test?

  9. #9
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par Gibaud65800 Voir le message
    Il me viens peut être une idée : Je fais mais test actuellement grâce à une base de donnée Hsqldb embarquée dans mon application. La base de donnée finale sera elle une bd mysql. Et il possible que le test ne passe pas à cause du fait que ma bd soit une bd de test?
    Normalement non,fais nous voir l'entête complète de ta classe user, et la requête que tu viens de soumettre.

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    Changement apportée a la requête jpql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String  jpql =  "SELECT NEW Project(p.name, p.company, p.technology, p.comment) FROM fr.nomsociete.ficheprojet.dao.entity.User u JOIN u.projects p";
    Entête User:

    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
     
    package fr.nomsociete.ficheprojet.dao.entity;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
     
    import fr.nomsociete.ficheprojet.dao.AbstractEntity;
     
    /**
    * Entity users from database
    */
     
    @Entity
    @Table(name="users")
    @NamedQuery(name = "findUsersByAuthority",
    			query = "SELECT u FROM User u JOIN u.authorities a WHERE a.authority = :authority")
    public class User extends AbstractEntity<String> {

  11. #11
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Hummm je pense que le message d'erreur que t'as es faux, essayes un peu (si ce n'est déjà fait) de spécifier dans ton persistence.xml l'entité User et Projet aussi , exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"  encoding="UTF-8"?>
    <persistence  xmlns="http://java.sun.com/xml/ns/persistence"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  version="1.0"  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
                  http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit  name="MaBaseDeTestPU">
        <provider>...</provider>
        <class>cfr.nomsociete.ficheprojet.dao.entity.User</class>
       ...
        <properties>
         ...
        </properties>
      </persistence-unit>
    </persistence>

  12. #12
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 14
    Par défaut
    J'ai déjà précisé toute mes entitées dans mon persistence.xml de test.

Discussions similaires

  1. Problème de perfomances dans une requête
    Par claralavraie dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/01/2006, 14h25
  2. [SQL] Problème de résultat avec une requête
    Par raptorman dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2006, 17h16
  3. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  4. [SYBASE] Aide pour l'écriture d'une requête
    Par karine77 dans le forum Sybase
    Réponses: 2
    Dernier message: 26/04/2005, 10h57
  5. problème de formulation d'une requête
    Par seiryujay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/08/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo