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

NetBeans Java Discussion :

NamedQuery n'autorise pas INSERT


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Par défaut NamedQuery n'autorise pas INSERT
    Bonjour,

    j'utilise pour mon application Java, une connexion unique pour chaque script. Cette connexion est créé par Netbeans via l'interface graphique puis modifié par moi même pour l'améliorer. Cela donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Entity
    @Table(name = "client", catalog = "test_reception_fichier", schema = "")
    @NamedQueries({
        @NamedQuery(name = "Client.findAll", query = "SELECT c FROM Client c"),
        @NamedQuery(name = "Client.findbyName", query = "SELECT c FROM Client c WHERE c.nomClient = :nomClient"),
        @NamedQuery(name = "Client.orderbyName", query = "SELECT c FROM Client c ORDER by c.nomClient"),
        @NamedQuery(name = "Client.findByIdClient", query = "SELECT c FROM Client c WHERE c.idClient = :idClient")
        //@NamedQuery(name = "Client.InsertByNameClient", query = "INSERT INTO Client VALUES c.nomClient = :nomClient")
        })
    Malheureusement la ligné en commentaire ne fonctionne pas. Je pense que cette appel a la requête ne fonctionne pas avec l'INSERT car pour un SELECT, cela fonctionne.

    J'ai pu chercher sur différents forums et avec les infos j'ai écrit celui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @NamedNativeQueries({
          @NamedNativeQuery(name = "Client.InsertByNameClient", query = "INSERT INTO Client (c.nomClient) VALUES (:nomClient)"),
    //    @NamedQuery(name = "Client.InsertByNameClient", query = "INSERT INTO Client VALUES c.nomClient = :nomClient")
        })
    Malheureusement encore, celui ne fonctionne pas.

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Bonjour,

    Je dis peut-être une connerie, mais sur une entity je ne fais pas d'INSERT, j'utilise l'EntityManager et je fais un persist de l'entity.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Par défaut
    Ah peut-être une solution !
    Pourrais-tu me donner un exemple de code pour ne pas confondre ?

  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Hum, la meilleure solution serait de lire un tutoriel JPA il s'agit tout de même des commandes de bases que l'on est amené à effectué.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    EntityManager em = ....;
     
    // Au lieu de faire un truc comme ça pour l'insert
    Query query = em.createQuery(...)
    query.executeUpdate(myEntity)
     
    // Tu fais ça
    em.persist(myEntity);
    Par contre il faut que ta stratégie de création de ta clé primaire soit correctement choisie pour que cela puisse marcher comme tu veux, et là un tutoriel sera surement plus efficace que moi pour te présenter la chose

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

Discussions similaires

  1. TRIGGER n'autorisant pas V$SQL
    Par titan_33 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 19/02/2010, 17h48
  2. Réponses: 8
    Dernier message: 08/05/2009, 23h07
  3. SQL Server n'autorise pas les connexions à distance !
    Par insane_80 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/10/2008, 16h40
  4. Réponses: 5
    Dernier message: 13/02/2008, 11h19
  5. Réponses: 1
    Dernier message: 04/01/2007, 10h39

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