Bonjour à tous,
Je tente d'utiliser une query pour charger une collection dans une de mes classes. Pour ce faire j'ai définis ma query et je l'ai indiquée dans la balise
<loader> de ma collection.
Malheureusement, lorsque hibernate démarre, j'obtiens une
NullPointerException.
Voici mon mapping :
Code:
<joined-subclass name="be.me.Teacher" extends="be.me.User">
<key column="uid" />
<bag name="classes" lazy="false" table="teachers_courses_classes">
<key column="teacher" />
<many-to-many column="class" unique="true"
class="be.me.SchoolClass" />
<loader query-ref="classes"/>
</bag>
</joined-subclass>
<sql-query name="classes">
<load-collection alias="classes" role="be.me.Teacher.classes" />
SELECT DISTINCT {classes.*}
FROM classes
LEFT JOIN teachers_courses_classes ON teachers_courses_classes.class=classes.id
WHERE teachers_courses_classes.teacher=:id
</sql-query>
Et mon exception :
Code:
Caused by: java.lang.NullPointerException
at org.hibernate.loader.custom.sql.SQLQueryParser.resolveProperties(SQLQueryParser.java:205)
at org.hibernate.loader.custom.sql.SQLQueryParser.resolveCollectionProperties(SQLQueryParser.java:158)
at org.hibernate.loader.custom.sql.SQLQueryParser.substituteBrackets(SQLQueryParser.java:121)
at org.hibernate.loader.custom.sql.SQLQueryParser.process(SQLQueryParser.java:74)
at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java:133)
at org.hibernate.engine.query.NativeSQLQueryPlan.<init>(NativeSQLQueryPlan.java:67)
at org.hibernate.engine.query.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:136)
at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:476)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:384)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
... 39 more
Etant donné que c'est la première fois que je tente d'utiliser une query personnalisée pour le chargement je suis assez perdu face à cette exception. De plus la trace ne m'aide pas beaucoup.
L'un d'entre vous peut-il m'aider ? Merci