Bonjour,
j'ai un problème lorsque je calcule le cout avec Hibernate :
mes objet Java :
Fonction *.*-----------*.* Profil


L'objet Fonction :
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
}
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
<?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 !!!