Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1476 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Résolut][hibernate] ."CLASS": invalid identifier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolut][hibernate] ."CLASS": invalid identifier

n°1437583
Calahad
Posté le 06-09-2006 à 13:41:28  profilanswer
 

Hello,
 
 Je m'énerve un peu là... à chaque requête, hibernate ajoute un "where blabla.class=machin" et bien sûr je ne me suis pas amusé à ajouter une colonne class dans toutes les tables de ma base...
 
 J'ai du m*rder quelque part, mais je ne vois pas où
 
config :
 

Code :
  1. <hibernate-configuration>
  2. <session-factory>
  3.         <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
  4.         <property name="connection.url">jdbc:oracle:thin:@blablacbon</property>
  5.         <property name="connection.username">user</property>
  6.         <property name="connection.password">pass</property>
  7.         <property name="show_sql">true</property>
  8.         <property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property>
  9.         <property name="c3p0.min_size">5</property>
  10.         <property name="c3p0.max_size">20</property>
  11.         <property name="c3p0.timeout">1800</property>
  12.         <property name="c3p0.max_statements">50</property>
  13.         <mapping resource="mapping.hbm.xml"/>
  14.     </session-factory>
  15. </hibernate-configuration>


 
mapping :

Code :
  1. <class name="business.hibernate.HbSysteme" table="application">
  2.  <id name="id" column="id" type="int">
  3.   <generator class="net.sf.hibernate.id.TableHiLoGenerator">
  4.    <param name="table">uid_table</param>
  5.    <param name="column">next_hi</param>
  6.   </generator>
  7.  </id>
  8.  <discriminator/>
  9.  <property name="name" column="name" type="string" not-null="true" unique="true"/>
  10.  <subclass name="business.systeme.Systeme"/>
  11. </class>


 
requête : select o from Systeme o order by o.name
 
exception : 13:28:26,755 ERROR JDBCExceptionReporter.logExceptions():58 - ORA-00904: "HBSYSTEME0_"."CLASS": invalid identifier
 
 :cry: help


Message édité par Calahad le 06-09-2006 à 17:49:35
mood
Publicité
Posté le 06-09-2006 à 13:41:28  profilanswer
 

n°1437698
brisssou
8-/
Posté le 06-09-2006 à 14:55:55  profilanswer
 

elles resemblent à quoi tes requêtes ? (dans ton code java)


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1437722
Calahad
Posté le 06-09-2006 à 15:03:03  profilanswer
 

Code :
  1. select o from Systeme o order by o.name


 
et en sortie ça donne ça :
 

Code :
  1. select systeme0_.id as id, systeme0_.name as name from APPLICATION systeme0_
  2. where systeme0_.class='business.systeme.Systeme'
  3. order by  systeme0_.name


Message édité par Calahad le 06-09-2006 à 15:07:35
n°1437757
brisssou
8-/
Posté le 06-09-2006 à 15:30:43  profilanswer
 

t'as pas mis de schema à ta classe. Je pense que ça vient de là.

Code :
  1. <class name="business.hibernate.HbSysteme" table="application" schema="TON_SCHEMA">


ou alors, dans ton hibernate.conf.xml

Code :
  1. <property name="default_schema">APP</property>


 
je pense.


Message édité par brisssou le 06-09-2006 à 15:31:03

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1437764
Calahad
Posté le 06-09-2006 à 15:39:26  profilanswer
 

Je viens d'essayer, c'est pas ça. Spécifier le schéma est utile quand tu travailles avec plusieurs schémas, s'il n'y en a qu'un, c'est pas nécessaire.
 
 :jap: Merci quand même ! Ca me rend fou ce truc... :fou:

n°1437802
brisssou
8-/
Posté le 06-09-2006 à 16:20:58  profilanswer
 

oui, en y refléchissant, ça peut pas être le schéma, puisque ça rajoute un attribut... d'habitue, j'attends le jeudi avant de dire de merde.
 
chui en avance cette semaine.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1437808
brisssou
8-/
Posté le 06-09-2006 à 16:27:58  profilanswer
 

Citation :


        <subclass name="business.systeme.Systeme"/>


 
s'marrant, c'est juste ce qu'il te rajoute dans ta requête et qui fait tout merder...
 
tu n'as pas de discriminant entre tes deux classes ?
 
parce que là effectivement, si tu ne mets pas de discriminat, il te faut un champs class avec le nom complet de ta ta classe d'objets.

Message cité 1 fois
Message édité par brisssou le 06-09-2006 à 16:29:06

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1437819
Calahad
Posté le 06-09-2006 à 16:39:09  profilanswer
 

brisssou a écrit :

Citation :


        <subclass name="business.systeme.Systeme"/>


 
s'marrant, c'est juste ce qu'il te rajoute dans ta requête et qui fait tout merder...
 
tu n'as pas de discriminant entre tes deux classes ?
 
parce que là effectivement, si tu ne mets pas de discriminat, il te faut un champs class avec le nom complet de ta ta classe d'objets.


 
En effet, mais le discriminator sert à spécifier la classe à instancier, aucun rapport avec l'ajout d'une colonne donc (il n'y a qu'une sous-classe, donc pas de soucis, j'ai mis un discriminator vide pour qu'il fasse pas chier à "la compil" ). J'ai quand même essayé sans sous classe, par acquit de conscience, en faisant directement appel à la classe définie :  
 

Code :
  1. <class name="business.hibernate.HbSysteme" table="APPLICATION">
  2.  <id name="id" column="id" type="int">
  3.   <generator class="net.sf.hibernate.id.TableHiLoGenerator">
  4.    <param name="table">uid_table</param>
  5.    <param name="column">next_hi</param>
  6.   </generator>
  7.  </id>
  8.  <property name="name" column="name" type="string" not-null="true" unique="true"/>
  9. </class>


 
Le problème reste entier, il me rajoute cette p*tain de colonne class...youpi  [:petrus75]
 
edit : t'inquiète pas pour les conneries, on en dit tous, c'est tellement toufu ces technos...


Message édité par Calahad le 06-09-2006 à 16:44:19
n°1437900
Calahad
Posté le 06-09-2006 à 17:49:17  profilanswer
 

Le problème est résolut, il s'agissait d'une mauvaise utilisation de la balise subclass. L'implémentation que j'en ai faite est valide pour une version antérieure d'hibernate (1.x).  
 
La version que j'utilise maintenant tolère cette utilisation, mais ça marche pas terrible...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Résolut][hibernate] ."CLASS": invalid identifier

 

Sujets relatifs
Lancement de class MainSavoir la version d'un .class
[Hibernate] generer les .hbm a partir des classesPostMultipartFormData class
JSTL et HibernateProblème MVC <-> Hibernate
probleme de classHibernate -> problème de mapping
[résolu] Internal classclass Css sur balide center ou font size=1
Plus de sujets relatifs à : [Résolut][hibernate] ."CLASS": invalid identifier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR