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

Hibernate Java Discussion :

Invalid column name ? Mais le problème vient d'ailleurs !


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 66
    Par défaut Invalid column name ? Mais le problème vient d'ailleurs !
    Bonjour,

    J'obtiens parfois cet erreur :
    ex = {"could not initialize collection: [FeedleWebservice.Subscriber.SubscriptionsList#2]"}
    InnerException = {"Invalid column name 'Title'."}
    Malgré tout, je ne pense pas que l'erreur vienne d'un problème de nommage de colonne.

    J'utilise NHibernate dans un Webservice, et, peut-être est-ce une erreur, chaque utilisateur qui se connecte au Webservice s'identifie, et une Session hibernate différente est créée pour chacun. Est-ce déjà la bonne solution ?

    Le fonctionnement de mon programme.
    Il y a une classe Subscriber, une classe Feed et une classe News.
    Un Subscriber peut s'inscrire à une Feed (il y a une relation many-to-many entre les deux pour l'instant, comme vous le verrez dans le fichier de mapping). Ensuite, à une et une seule Feed y appartiennent des News. J'ai aussi une table de concordance entre Subscriber et News pour indication de lecture.

    Je pense qu'il y a un problème avec mon fichier de mapping (remarquez au passage qu'il est généré par Mapping.Attributes) au niveau de la liaison many-to-many.

    En fait, quand un seul "Subscriber" se connecte, et s'inscrit à des feeds, ça fonctionne (enfin à peu près je crois !). Les problèmes surviennent quand il y a un deuxième "Subscriber" qui s'inscrit aux feeds aussi... et là j'obitnes par exemple cet erreur de colonne, sans aucun rapport...

    Je vous remercie de votre aide

    (Je met mon fichier de mapping plus tard, impossible de poster sur le forum avec le message entier)

  2. #2
    Membre expérimenté Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Par défaut
    Nous ne sommes pas devin, il faut nous en dire plus....
    Un peut plus de log par exemple...

    Ta version de java, hibernate ?

    Une webapp ? Tu utilises Spring ?
    Ton fichier de configuration de hibernate ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 66
    Par défaut
    Désolé j'avais des problèmes pour mettre mon post complet (c'est pas ma journée lol)... voilà mon fichier de mapping, et j'ai aussi complété le premier post. Merci merci !

    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
    <?xml version="1.0" encoding="utf-8"?>
    <!--Generated from NHibernate.Mapping.Attributes on 2007-01-03 16:59:31Z.-->
    <hibernate-mapping default-access="field.camelcase-underscore" xmlns="urn:nhibernate-mapping-2.0">
      <class name="FeedleWebservice.News, FeedleWebservice" table="News">
        <id name="Id">
          <generator class="native" />
        </id>
        <property name="Title" not-null="true" />
        <property name="Description" length="16384" not-null="true" />
        <property name="Link" length="512" not-null="true" />
        <property name="PublishedOn" not-null="true" />
        <bag name="HasBeenReadList" table="ReadStatus" fetch="join" cascade="all">
          <key column="FK_News" />
          <many-to-many class="FeedleWebservice.Subscriber, FeedleWebservice" column="FK_Subscriber" />
        </bag>
      </class>
      <class name="FeedleWebservice.Subscriber, FeedleWebservice" table="Subscriber">
        <id name="Id">
          <generator class="native" />
        </id>
        <property name="Login" not-null="true" />
        <property name="Password" not-null="true" />
        <property name="Email" not-null="true" />
        <bag name="SubscriptionsList" table="Subscription" fetch="join" cascade="all" order-by="Title">
          <key column="FK_Subscriber" />
          <many-to-many class="FeedleWebservice.Feed, FeedleWebservice" column="FK_Feed" />
        </bag>
        <bag name="HasReadList" table="ReadStatus" fetch="join" cascade="all">
          <key column="FK_Subscriber" />
          <many-to-many class="FeedleWebservice.News, FeedleWebservice" column="FK_News" />
        </bag>
      </class>
      <class name="FeedleWebservice.Feed, FeedleWebservice" table="Feed">
        <id name="Id">
          <generator class="native" />
        </id>
        <property name="LastUpdate" not-null="true" />
        <property name="Title" not-null="true" />
        <property name="Description" not-null="true" />
        <property name="Url" not-null="true" />
        <bag name="NewsList" fetch="join" cascade="all" order-by="PublishedOn">
          <key column="FK_Feed" />
          <one-to-many class="FeedleWebservice.News, FeedleWebservice" />
        </bag>
        <bag name="SubscriptionsList" table="Subscription" fetch="join" cascade="all">
          <key column="FK_Feed" />
          <many-to-many class="FeedleWebservice.Subscriber, FeedleWebservice" column="FK_Subscriber" />
        </bag>
      </class>
    </hibernate-mapping>

  4. #4
    Membre expérimenté Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <property name="Title" not-null="true" />
    Ta classe mapper DOIT respecter les spécification des Beans.

    donc Title est faut, il faut mettre title.

    Si tu souhaite avoir Title dans ta base de donnèes tu dois utiliser column="Title"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <property name="title" not-null="true" column="Title"/>
    Donc revoi tout ton fichier de config et tes classes modèles de donnèes pour qu'elle soit compatibles.

  5. #5
    Membre expérimenté Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 66
    Par défaut
    En fait en .Net il faut mettre une majuscule, enfin plutôt vis à vis de Mapping.Attributes. Enfin le problème ne vient pas de l'architure et de l'implémentation en .Net de NHibernate. A mon avis c'est plutôt une erreur dans les mappings, du côté des many-to-many...

Discussions similaires

  1. [SQL SRV 2005] problème de case..when --> invalid column name
    Par Kropernic dans le forum Développement
    Réponses: 1
    Dernier message: 12/03/2012, 14h52
  2. Invalid column name
    Par Krustig dans le forum Hibernate
    Réponses: 4
    Dernier message: 06/02/2011, 23h23
  3. Invalid column name ..
    Par lerieure dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/10/2010, 11h09
  4. [SQL Server 2K] : Invalid column name
    Par Kyles dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/05/2006, 12h02
  5. Réponses: 4
    Dernier message: 25/01/2006, 18h25

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