Bonjour,
j'ai un problème lorsque je calcule le cout avec Hibernate :
mes objet Java :
Fonction *.*-----------*.* Profil
L'objet Fonction :
le mapping :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class Fonction { private static final long serialVersionUID = -2289281489628390283L; private String nom; private List<Profil> profils; //Getter & Setter }
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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="test.Fonction" table="Fonction"> <id name="id" column="id" type="java.lang.Long"> <generator class="native" /> </id> <property name="nom" type="java.lang.String" update="true" insert="true" column="NOM" /> <bag name="profils" table="PROFILFONCTION" cascade="none"> <key column="FONCTION" /> <many-to-many column="PROFIL" class="test.Profil" foreign-key="FK_FONCTION_ROFIL" /> </bag> </class> </hibernate-mapping>
L'objet Profil :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Profil { private static final long serialVersionUID = -2289281489628390283L; private String code; private String nom; private List<Fonction> fonctions; //Getter & Setter }
le mapping :
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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="test.Profil" table="PROFIL"> <id name="id" column="id" type="java.lang.Long"> <generator class="native" /> </id> <property name="code" type="java.lang.String" update="true" insert="true" column="code" /> <property name="nom" type="java.lang.String" update="true" insert="true" column="nom" /> <bag name="fonctions" table="PROFILFONCTION" cascade="none"> <key column="PROFIL" /> <many-to-many column="FONCTION" class="test.Fonction" foreign-key="FK_PROFIL_FONCTION" /> </bag> </class> </hibernate-mapping>
j'ai générer automatiquement les table avec hibernate :
la table FONCTION, PROFIL, PROFILFONCTION
maintenant je veux calculer le count de la table PROFILFONCTION :
c-à-d : SELECT count(*) FROM PROFILFONCTION PF
une erreur se produit comme quoi l'objet PROFILFONCTION n'existe pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 org.hibernate.hql.ast.QuerySyntaxException: PROFILFONCTION is not mapped [SELECT count(*) FROM PROFILFONCTION PF] at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158) at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87) at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70) at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
Y a pas un moyen de calculer ce count !!!
Partager