In Hibernate2, this query was getting translated correctly.
In Hibernate3, the SQL generated is missing a comma after an inner join and before an implied table.
See details below.
Should I submit this to the JIRA, or did I miss something in the migration?
Best regards,
Assaf
Hibernate version: 3.0.5
HQL
SELECT term.id, term.textDB, conformity.lastUpdateDate, conformity.sourceTerm.id, conformity.sourceTerm.textDB FROM com.joliciel.aplikaterm.domain.TermImpl AS term JOIN term.conformityDB as conformity JOIN conformity.submittedBy AS submittedBy,com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl as organisationLevelChecker WHERE conformity.statusDB = :status AND submittedBy.organisation = organisationLevelChecker.organisation AND submittedBy != organisationLevelChecker AND NOT EXISTS (FROM com.joliciel.aplikaterm.domain.ConformityCheckerImpl AS conformityChecker WHERE conformityChecker.user.id=submittedBy.id) AND organisationLevelChecker.user = :pendingCheckBy ORDER BY conformity.lastUpdateDate
AST query parsing plan
AST ---
\-[SELECT] QueryNode: 'SELECT' querySpaces (Utilisateur,Controlleur,Conformite,Terme)
+-[SELECT_CLAUSE] SelectClause: '{select clause}'
| +-[DOT] DotNode: 'termimpl0_.idTerme' {propertyName=id,dereferenceType=4,propertyPath=id,path=term.id,tableAlias=termimpl0_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=term}
| | +-[ALIAS_REF] IdentNode: 'termimpl0_.idTerme' {alias=term, className=com.joliciel.aplikaterm.domain.TermImpl, tableAlias=termimpl0_}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| +-[SELECT_COLUMNS] SqlNode: ' as col_0_0_'
| +-[DOT] DotNode: 'termimpl0_.texte' {propertyName=textDB,dereferenceType=4,propertyPath=textDB,path=term.textDB,tableAlias=termimpl0_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=term}
| | +-[ALIAS_REF] IdentNode: 'termimpl0_.idTerme' {alias=term, className=com.joliciel.aplikaterm.domain.TermImpl, tableAlias=termimpl0_}
| | \-[IDENT] IdentNode: 'textDB' {originalText=textDB}
| +-[SELECT_COLUMNS] SqlNode: ' as col_1_0_'
| +-[DOT] DotNode: 'conformity1_.dateModification' {propertyName=lastUpdateDate,dereferenceType=4,propertyPath=lastUpdateDate,path=conformity.lastUpdateDate,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | \-[IDENT] IdentNode: 'lastUpdateDate' {originalText=lastUpdateDate}
| +-[SELECT_COLUMNS] SqlNode: ' as col_2_0_'
| +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=id,dereferenceType=4,propertyPath=sourceTerm.id,path=conformity.sourceTerm.id,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=id,dereferenceType=ROOT_LEVEL,propertyPath=sourceTerm.id,path=conformity.sourceTerm,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | \-[IDENT] IdentNode: 'sourceTerm' {originalText=sourceTerm}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| +-[SELECT_COLUMNS] SqlNode: ' as col_3_0_'
| +-[DOT] DotNode: 'termimpl4_.texte' {propertyName=textDB,dereferenceType=4,propertyPath=textDB,path=conformity.sourceTerm.textDB,tableAlias=termimpl4_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=null}
| | +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=sourceTerm,dereferenceType=1,propertyPath=sourceTerm,path=conformity.sourceTerm,tableAlias=termimpl4_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=null}
| | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | \-[IDENT] IdentNode: 'sourceTerm' {originalText=sourceTerm}
| | \-[IDENT] IdentNode: 'textDB' {originalText=textDB}
| \-[SELECT_COLUMNS] SqlNode: ' as col_4_0_'
+-[FROM] FromClause: 'FROM' FromClause{level=1, fromElementCounter=5, fromElements=5, fromElementByClassAlias=[conformity, term, submittedBy, organisationLevelChecker], fromElementByTableAlias=[termimpl4_, userimpl2_, conformity1_, termimpl0_, organisati3_], fromElementsByPath=[conformity.sourceTerm, conformity.submittedBy, term.conformityDB], collectionJoinFromElementsByPath=[], impliedElements=[]}
| +-[FROM_FRAGMENT] FromElement: 'Terme termimpl0_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=term,role=null,tableName=Terme,tableAlias=termimpl0_,colums={,className=com.joliciel.aplikaterm.domain.TermImpl}}
| | \-[JOIN_FRAGMENT] FromElement: 'inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformity,role=com.joliciel.aplikaterm.domain.TermImpl.conformityDB,tableName=Conformite,tableAlias=conformity1_,colums={termimpl0_.idTerme ,className=com.joliciel.aplikaterm.domain.ConformityImpl}}
| | +-[JOIN_FRAGMENT] FromElement: 'inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=submittedBy,role=null,tableName=Utilisateur,tableAlias=userimpl2_,colums={conformity1_.idSoumisPar ,className=com.joliciel.aplikaterm.domain.UserImpl}}
| | \-[FROM_FRAGMENT] ImpliedFromElement: 'Terme termimpl4_' ImpliedFromElement{implied,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=null,role=null,tableName=Terme,tableAlias=termimpl4_,colums={conformity1_.idTerme_dOrigine ,className=com.joliciel.aplikaterm.domain.TermImpl}}
| \-[FROM_FRAGMENT] FromElement: 'Controlleur organisati3_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=organisationLevelChecker,role=null,tableName=Controlleur,tableAlias=organisati3_,colums={,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl}}
\-[WHERE] SqlNode: 'WHERE'
+-[FILTERS] SqlNode: '{filter conditions}'
| \-[SQL_TOKEN] SqlFragment: 'organisati3_.typeDeControlleur='O''
\-[AND] SqlNode: 'AND'
+-[AND] SqlNode: 'AND'
| +-[AND] SqlNode: 'AND'
| | +-[AND] SqlNode: 'AND'
| | | +-[EQ] SqlNode: '='
| | | | +-[DOT] DotNode: 'conformity1_.statut' {propertyName=statusDB,dereferenceType=4,propertyPath=statusDB,path=conformity.statusDB,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | | | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | | | \-[IDENT] IdentNode: 'statusDB' {originalText=statusDB}
| | | | \-[NAMED_PARAM] SqlNode: '?'
| | | \-[EQ] SqlNode: '='
| | | +-[DOT] DotNode: 'userimpl2_.idOrganisation' {propertyName=organisation,dereferenceType=ROOT_LEVEL,propertyPath=organisation,path=submittedBy.organisation,tableAlias=userimpl2_,className=com.joliciel.aplikaterm.domain.UserImpl,classAlias=submittedBy}
| | | | +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| | | | \-[IDENT] IdentNode: 'organisation' {originalText=organisation}
| | | \-[DOT] DotNode: 'organisati3_.idOrganisation' {propertyName=organisation,dereferenceType=ROOT_LEVEL,propertyPath=organisation,path=organisationLevelChecker.organisation,tableAlias=organisati3_,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl,classAlias=organisationLevelChecker}
| | | +-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| | | \-[IDENT] IdentNode: 'organisation' {originalText=organisation}
| | \-[NE] SqlNode: '!='
| | +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| | \-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| \-[NOT] SqlNode: 'not'
| \-[EXISTS] SqlNode: 'EXISTS'
| \-[SELECT] QueryNode: 'SELECT' querySpaces (Utilisateur,Controlleur,Conformite,Terme)
| +-[SELECT_CLAUSE] SelectClause: '{derived select clause}'
| | \-[SELECT_EXPR] SelectExpressionImpl: 'conformity5_.idControlleur' {FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformityChecker,role=null,tableName=Controlleur,tableAlias=conformity5_,colums={,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl}}}
| +-[FROM] FromClause: 'FROM' FromClause{level=2, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[conformityChecker], fromElementByTableAlias=[conformity5_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
| | \-[FROM_FRAGMENT] FromElement: 'Controlleur conformity5_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformityChecker,role=null,tableName=Controlleur,tableAlias=conformity5_,colums={,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl}}
| \-[WHERE] SqlNode: 'WHERE'
| \-[EQ] SqlNode: '='
| +-[DOT] DotNode: 'conformity5_.idUtilisateur' {propertyName=id,dereferenceType=4,propertyPath=user.id,path=conformityChecker.user.id,tableAlias=conformity5_,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl,classAlias=conformityChecker}
| | +-[DOT] DotNode: 'conformity5_.idUtilisateur' {propertyName=id,dereferenceType=ROOT_LEVEL,propertyPath=user.id,path=conformityChecker.user,tableAlias=conformity5_,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl,classAlias=conformityChecker}
| | | +-[ALIAS_REF] IdentNode: 'conformity5_.idControlleur' {alias=conformityChecker, className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl, tableAlias=conformity5_}
| | | \-[IDENT] IdentNode: 'user' {originalText=user}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| \-[DOT] DotNode: 'userimpl2_.idUtilisateur' {propertyName=id,dereferenceType=4,propertyPath=id,path=submittedBy.id,tableAlias=userimpl2_,className=com.joliciel.aplikaterm.domain.UserImpl,classAlias=submittedBy}
| +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| \-[IDENT] IdentNode: 'id' {originalText=id}
\-[EQ] SqlNode: '='
+-[DOT] DotNode: 'organisati3_.idUtilisateur' {propertyName=user,dereferenceType=ROOT_LEVEL,propertyPath=user,path=organisationLevelChecker.user,tableAlias=organisati3_,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl,classAlias=organisationLevelChecker}
| +-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| \-[IDENT] IdentNode: 'user' {originalText=user}
\-[NAMED_PARAM] SqlNode: '?'
generated SQL
select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur no comma here Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?
Mapping documents: (relevent extracts)
<!-- **** Term **** -->
<class name="com.joliciel.aplikaterm.domain.TermImpl" table="Terme"
dynamic-update="false" lazy="false">
<id name="id" column="idTerme" type="long" >
<generator class="hilo">
</generator>
</id>
<version name="version" type="integer" column="version" />
<many-to-one name="definition"
class="com.joliciel.aplikaterm.domain.DefinitionImpl"
cascade="none"
column="idDefinition" fetch="select" />
<many-to-one name="inResponseTo"
class="com.joliciel.aplikaterm.domain.TermImpl" cascade="none"
column="idEnReponseA" fetch="select"
/>
<property name="textDB" type="string"
column="texte" length="255" />
<property name="textForSorting" type="string"
column="textePourTri" length="255" />
<property name="statusDB"
type="com.joliciel.aplikaterm.dao.hibernate.types.ValidationStatusType"
update="true" column="statut" />
<property name="typeDB"
type="com.joliciel.aplikaterm.dao.hibernate.types.TermTypeType"
update="true" column="type" />
<property name="languageRegisterDB"
type="com.joliciel.aplikaterm.dao.hibernate.types.LanguageRegisterType"
update="true" column="registre" />
<property name="genreDB"
type="com.joliciel.aplikaterm.dao.hibernate.types.GrammaticalGenderType"
update="true" column="genre" />
<many-to-one name="proposedBy"
class="com.joliciel.aplikaterm.domain.UserImpl"
cascade="none"
column="idProposePar" fetch="select" />
<many-to-one name="updatedBy"
class="com.joliciel.aplikaterm.domain.UserImpl"
cascade="none"
column="idRevisePar" fetch="select" />
<property name="createDate" type="timestamp"
column="dateCreation" />
<property name="lastUpdateDate" type="timestamp"
column="dateMiseAJour" />
<set name="contextsDB" table="Contexte" lazy="true" inverse="true"
cascade="save-update" sort="unsorted"
order-by="idProjet,pageSource" >
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.ContextImpl" />
</set>
<set name="referencesDB" table="Reference" lazy="true" inverse="true"
cascade="save-update" sort="unsorted" order-by="dateCreation" >
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.ReferenceImpl" />
</set>
<set name="commentsDB" table="Commentaire" lazy="true" inverse="true"
cascade="save-update" sort="unsorted" order-by="dateCreation">
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.CommentImpl"
/>
</set>
<set name="phrasesDB" table="Phrase" lazy="true" inverse="true"
cascade="all-delete-orphan" sort="unsorted"
>
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.PhraseImpl"
/>
</set>
<!-- replaced one-to-one with one-to-many due to untrackable occasional attempt by Hibernate
to insert instead of update. One-to-oneness to be enforced in code, and by unique constraint. -->
<set name="termDisplaysDB" table="TermeAffichage" lazy="true" inverse="true"
cascade="all-delete-orphan" sort="unsorted">
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.TermDisplayImpl"
/>
</set>
<!--
<one-to-one name="termDisplay" class="com.joliciel.aplikaterm.domain.TermDisplayImpl"
cascade="all" property-ref="term" />
-->
<set name="conformityDB" table="Conformite" lazy="true" inverse="true"
cascade="all-delete-orphan" sort="unsorted">
<key column="idTerme" />
<one-to-many class="com.joliciel.aplikaterm.domain.ConformityImpl"
/>
</set>
<!--
<one-to-one name="conformity" class="com.joliciel.aplikaterm.domain.ConformityImpl"
cascade="all" constrained="false" />
-->
</class>
<!-- **** Conformity **** -->
<class name="com.joliciel.aplikaterm.domain.ConformityImpl" table="Conformite" lazy="false">
<id name="id" column="idConformite" type="long" >
<generator class="hilo">
</generator>
</id>
<version name="version" type="integer" column="version" />
<many-to-one name="term"
class="com.joliciel.aplikaterm.domain.TermImpl"
column="idTerme" cascade="none" unique="true" fetch="select" />
<property name="statusDB"
type="com.joliciel.aplikaterm.dao.hibernate.types.ConformityStatusType"
update="true" column="statut" />
<many-to-one name="submittedBy"
class="com.joliciel.aplikaterm.domain.UserImpl"
cascade="none"
column="idSoumisPar" fetch="select"/>
<many-to-one name="updatedBy"
class="com.joliciel.aplikaterm.domain.UserImpl"
cascade="none"
column="idModifiePar" fetch="select"/>
<property name="lastUpdateDate" type="timestamp"
column="dateModification" />
<property name="reason" type="string"
column="raison"/>
<many-to-one name="sourceTerm"
class="com.joliciel.aplikaterm.domain.TermImpl" cascade="none"
column="idTerme_dOrigine" fetch="select"/>
</class>
<!-- **** ConformityChecker **** -->
<class name="com.joliciel.aplikaterm.domain.ConformityCheckerImpl"
table="Controlleur" lazy="false">
<id name="id" column="idControlleur"
type="long" >
<generator class="hilo">
</generator>
</id>
<discriminator column="typeDeControlleur" type="string" />
<version name="version" type="integer" column="version" />
<many-to-one name="user" class="com.joliciel.aplikaterm.domain.UserImpl"
cascade="none"
column="idUtilisateur"
unique="true" />
<subclass
name="com.joliciel.aplikaterm.domain.GlobalConformityCheckerImpl"
dynamic-update="false" discriminator-value="G">
<many-to-one name="client" class="com.joliciel.aplikaterm.domain.ClientImpl"
cascade="none"
column="idClient" fetch="select" />
<property name="position" type="integer"
column="position" />
</subclass>
<subclass
name="com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl"
dynamic-update="false" discriminator-value="O">
<many-to-one name="organisation" class="com.joliciel.aplikaterm.domain.OrganisationImpl"
column="idOrganisation" unique="true" fetch="select"/>
</subclass>
</class>
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
2005-10-07 17:28:29,792 DEBUG [org.hibernate.util.JDBCExceptionReporter] - could not execute query using iterate [select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?]
java.sql.SQLException: Line 1: Incorrect syntax near 'Terme'.
at net.sourceforge.jtds.jdbc.SqlMessage.toSQLException(SqlMessage.java:85)
at net.sourceforge.jtds.jdbc.SQLWarningChain.addOrReturn(SQLWarningChain.java:108)
at net.sourceforge.jtds.jdbc.Tds.submitProcedure(Tds.java:644)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.submitProcedure(PreparedStatement_base.java:184)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.execute(PreparedStatement_base.java:159)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.executeQuery(PreparedStatement_base.java:199)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1252)
at org.hibernate.loader.hql.QueryLoader.iterate(QueryLoader.java:411)
at org.hibernate.hql.ast.QueryTranslatorImpl.iterate(QueryTranslatorImpl.java:281)
at org.hibernate.impl.SessionImpl.iterate(SessionImpl.java:935)
at org.hibernate.impl.QueryImpl.iterate(QueryImpl.java:41)
at com.joliciel.aplikaterm.dao.hibernate.ConformityDaoHibernate.getTermsPendingConformityCheckByOrganisation(ConformityDaoHibernate.java:64)
Name and version of the database you are using:
Sql Server 2000
The generated SQL (show_sql=true): Note missing comma before Terme termimpl4_
select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?
Debug level Hibernate log excerpt:
2005-10-07 17:28:29,641 DEBUG [org.hibernate.impl.SessionImpl] - iterate: SELECT term.id, term.textDB, conformity.lastUpdateDate, conformity.sourceTerm.id, conformity.sourceTerm.textDB FROM TermImpl AS term JOIN term.conformityDB as conformity JOIN conformity.submittedBy AS submittedBy,OrganisationLevelCheckerImpl as organisationLevelChecker WHERE conformity.statusDB = :status AND submittedBy.organisation = organisationLevelChecker.organisation AND submittedBy != organisationLevelChecker AND NOT EXISTS (FROM ConformityCheckerImpl AS conformityChecker WHERE conformityChecker.user.id=submittedBy.id) AND organisationLevelChecker.user = :pendingCheckBy ORDER BY conformity.lastUpdateDate
2005-10-07 17:28:29,641 DEBUG [org.hibernate.engine.QueryParameters] - named parameters: {pendingCheckBy=3, status=ConformityStatusImpl[pending]}
2005-10-07 17:28:29,641 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - parse() - HQL: SELECT term.id, term.textDB, conformity.lastUpdateDate, conformity.sourceTerm.id, conformity.sourceTerm.textDB FROM com.joliciel.aplikaterm.domain.TermImpl AS term JOIN term.conformityDB as conformity JOIN conformity.submittedBy AS submittedBy,com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl as organisationLevelChecker WHERE conformity.statusDB = :status AND submittedBy.organisation = organisationLevelChecker.organisation AND submittedBy != organisationLevelChecker AND NOT EXISTS (FROM com.joliciel.aplikaterm.domain.ConformityCheckerImpl AS conformityChecker WHERE conformityChecker.user.id=submittedBy.id) AND organisationLevelChecker.user = :pendingCheckBy ORDER BY conformity.lastUpdateDate
2005-10-07 17:28:29,651 DEBUG [org.hibernate.hql.ast.AST] - --- HQL AST ---
\-[QUERY] 'query'
+-[SELECT_FROM] 'SELECT_FROM'
| +-[FROM] 'FROM'
| | +-[RANGE] 'RANGE'
| | | +-[DOT] '.'
| | | | +-[DOT] '.'
| | | | | +-[DOT] '.'
| | | | | | +-[DOT] '.'
| | | | | | | +-[IDENT] 'com'
| | | | | | | \-[IDENT] 'joliciel'
| | | | | | \-[IDENT] 'aplikaterm'
| | | | | \-[IDENT] 'domain'
| | | | \-[IDENT] 'TermImpl'
| | | \-[ALIAS] 'term'
| | +-[JOIN] 'JOIN'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'term'
| | | | \-[IDENT] 'conformityDB'
| | | \-[ALIAS] 'conformity'
| | +-[JOIN] 'JOIN'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'conformity'
| | | | \-[IDENT] 'submittedBy'
| | | \-[ALIAS] 'submittedBy'
| | \-[RANGE] 'RANGE'
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[DOT] '.'
| | | | | +-[DOT] '.'
| | | | | | +-[IDENT] 'com'
| | | | | | \-[IDENT] 'joliciel'
| | | | | \-[IDENT] 'aplikaterm'
| | | | \-[IDENT] 'domain'
| | | \-[IDENT] 'OrganisationLevelCheckerImpl'
| | \-[ALIAS] 'organisationLevelChecker'
| \-[SELECT] 'SELECT'
| +-[DOT] '.'
| | +-[IDENT] 'term'
| | \-[IDENT] 'id'
| +-[DOT] '.'
| | +-[IDENT] 'term'
| | \-[IDENT] 'textDB'
| +-[DOT] '.'
| | +-[IDENT] 'conformity'
| | \-[IDENT] 'lastUpdateDate'
| +-[DOT] '.'
| | +-[DOT] '.'
| | | +-[IDENT] 'conformity'
| | | \-[IDENT] 'sourceTerm'
| | \-[IDENT] 'id'
| \-[DOT] '.'
| +-[DOT] '.'
| | +-[IDENT] 'conformity'
| | \-[IDENT] 'sourceTerm'
| \-[IDENT] 'textDB'
+-[WHERE] 'WHERE'
| \-[AND] 'AND'
| +-[AND] 'AND'
| | +-[AND] 'AND'
| | | +-[AND] 'AND'
| | | | +-[EQ] '='
| | | | | +-[DOT] '.'
| | | | | | +-[IDENT] 'conformity'
| | | | | | \-[IDENT] 'statusDB'
| | | | | \-[COLON] ':'
| | | | | \-[IDENT] 'status'
| | | | \-[EQ] '='
| | | | +-[DOT] '.'
| | | | | +-[IDENT] 'submittedBy'
| | | | | \-[IDENT] 'organisation'
| | | | \-[DOT] '.'
| | | | +-[IDENT] 'organisationLevelChecker'
| | | | \-[IDENT] 'organisation'
| | | \-[NE] '!='
| | | +-[IDENT] 'submittedBy'
| | | \-[IDENT] 'organisationLevelChecker'
| | \-[NOT] 'not'
| | \-[EXISTS] 'EXISTS'
| | \-[QUERY] 'query'
| | +-[SELECT_FROM] 'SELECT_FROM'
| | | \-[FROM] 'FROM'
| | | \-[RANGE] 'RANGE'
| | | +-[DOT] '.'
| | | | +-[DOT] '.'
| | | | | +-[DOT] '.'
| | | | | | +-[DOT] '.'
| | | | | | | +-[IDENT] 'com'
| | | | | | | \-[IDENT] 'joliciel'
| | | | | | \-[IDENT] 'aplikaterm'
| | | | | \-[IDENT] 'domain'
| | | | \-[IDENT] 'ConformityCheckerImpl'
| | | \-[ALIAS] 'conformityChecker'
| | \-[WHERE] 'WHERE'
| | \-[EQ] '='
| | +-[DOT] '.'
| | | +-[DOT] '.'
| | | | +-[IDENT] 'conformityChecker'
| | | | \-[IDENT] 'user'
| | | \-[IDENT] 'id'
| | \-[DOT] '.'
| | +-[IDENT] 'submittedBy'
| | \-[IDENT] 'id'
| \-[EQ] '='
| +-[DOT] '.'
| | +-[IDENT] 'organisationLevelChecker'
| | \-[IDENT] 'user'
| \-[COLON] ':'
| \-[IDENT] 'pendingCheckBy'
\-[ORDER] 'ORDER'
\-[DOT] '.'
+-[IDENT] 'conformity'
\-[IDENT] 'lastUpdateDate'
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.ErrorCounter] - throwQueryException() : no errors
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() << begin, level = 1
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=1} : com.joliciel.aplikaterm.domain.TermImpl (term) -> termimpl0_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term -> termimpl0_.idTerme
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : conformityDB -> org.hibernate.type.SetType(com.joliciel.aplikaterm.domain.TermImpl.conformityDB)
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromElementFactory] - createEntityAssociation() : One to many - path = term.conformityDB role = com.joliciel.aplikaterm.domain.TermImpl.conformityDB associatedEntityName = com.joliciel.aplikaterm.domain.ConformityImpl
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=1} : com.joliciel.aplikaterm.domain.ConformityImpl (conformity) -> conformity1_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromClause] - addJoinByPathMap() : term.conformityDB -> Conformite conformity1_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceCollection() : Created new FROM element for term.conformityDB : Conformite conformity1_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term.conformityDB -> .
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - createFromJoinElement() : -- join tree --
\-[JOIN_FRAGMENT] FromElement: 'Conformite conformity1_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformity,role=com.joliciel.aplikaterm.domain.TermImpl.conformityDB,tableName=Conformite,tableAlias=conformity1_,colums={termimpl0_.idTerme ,className=com.joliciel.aplikaterm.domain.ConformityImpl}}
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : submittedBy -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.UserImpl)
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceEntityJoin() : generating join for submittedBy in com.joliciel.aplikaterm.domain.ConformityImpl (submittedBy) parent = [ {null} ]
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=1} : com.joliciel.aplikaterm.domain.UserImpl (submittedBy) -> userimpl2_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromClause] - addJoinByPathMap() : conformity.submittedBy -> Utilisateur userimpl2_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.submittedBy -> conformity1_.idSoumisPar
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - createFromJoinElement() : -- join tree --
\-[JOIN_FRAGMENT] FromElement: 'Utilisateur userimpl2_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=submittedBy,role=null,tableName=Utilisateur,tableAlias=userimpl2_,colums={conformity1_.idSoumisPar ,className=com.joliciel.aplikaterm.domain.UserImpl}}
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=1} : com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl (organisationLevelChecker) -> organisati3_
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term -> termimpl0_.idTerme
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : id -> org.hibernate.type.LongType@bc6007
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term.id -> termimpl0_.idTerme
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term -> termimpl0_.idTerme
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : textDB -> org.hibernate.type.StringType@541b02
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : term.textDB -> termimpl0_.texte
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : lastUpdateDate -> org.hibernate.type.TimestampType@1b94ea2
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.lastUpdateDate -> conformity1_.dateModification
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : sourceTerm -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.TermImpl)
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceShortcut() : property id in com.joliciel.aplikaterm.domain.ConformityImpl does not require a join.
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - Unresolved property path is now 'sourceTerm.id'
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.sourceTerm -> conformity1_.idTerme_dOrigine
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : sourceTerm.id -> org.hibernate.type.LongType@bc6007
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.sourceTerm.id -> conformity1_.idTerme_dOrigine
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : sourceTerm -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.TermImpl)
2005-10-07 17:28:29,661 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceEntityJoin() : generating join for sourceTerm in com.joliciel.aplikaterm.domain.ConformityImpl {no alias} parent = [ ( . ( . conformity1_.idConformite sourceTerm ) textDB ) ]
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=1} : com.joliciel.aplikaterm.domain.TermImpl (no alias) -> termimpl4_
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromClause] - addJoinByPathMap() : conformity.sourceTerm -> Terme termimpl4_
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.sourceTerm -> conformity1_.idTerme_dOrigine
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : textDB -> org.hibernate.type.StringType@541b02
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.sourceTerm.textDB -> termimpl4_.texte
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : statusDB -> org.hibernate.type.CustomType@ed8eb5
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.statusDB -> conformity1_.statut
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : submittedBy -> userimpl2_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : organisation -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.OrganisationImpl)
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceShortcut() : property organisation in com.joliciel.aplikaterm.domain.UserImpl does not require a join.
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : submittedBy.organisation -> userimpl2_.idOrganisation
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : organisationLevelChecker -> organisati3_.idControlleur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : organisation -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.OrganisationImpl)
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceShortcut() : property organisation in com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl does not require a join.
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : organisationLevelChecker.organisation -> organisati3_.idOrganisation
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : submittedBy -> userimpl2_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : organisationLevelChecker -> organisati3_.idControlleur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() << begin, level = 2
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromElement] - FromClause{level=2} : com.joliciel.aplikaterm.domain.ConformityCheckerImpl (conformityChecker) -> conformity5_
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformityChecker -> conformity5_.idControlleur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : user -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.UserImpl)
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceShortcut() : property id in com.joliciel.aplikaterm.domain.ConformityCheckerImpl does not require a join.
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - Unresolved property path is now 'user.id'
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformityChecker.user -> conformity5_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : user.id -> org.hibernate.type.LongType@bc6007
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformityChecker.user.id -> conformity5_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : submittedBy -> userimpl2_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : id -> org.hibernate.type.LongType@bc6007
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : submittedBy.id -> userimpl2_.idUtilisateur
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() : finishing up , level = 2
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - processQuery() : ( SELECT ( FromClause{level=2} Controlleur conformity5_ ) ( WHERE ( = ( conformity5_.idUtilisateur ( conformity5_.idUtilisateur conformity5_.idControlleur user ) id ) ( userimpl2_.idUtilisateur userimpl2_.idUtilisateur id ) ) ) )
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - Derived SELECT clause created.
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.JoinProcessor] - Using FROM fragment [Controlleur conformity5_]
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() >> end, level = 2
2005-10-07 17:28:29,671 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : organisationLevelChecker -> organisati3_.idControlleur
2005-10-07 17:28:29,681 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : user -> org.hibernate.type.ManyToOneType(com.joliciel.aplikaterm.domain.UserImpl)
2005-10-07 17:28:29,681 DEBUG [org.hibernate.hql.ast.DotNode] - dereferenceShortcut() : property user in com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl does not require a join.
2005-10-07 17:28:29,681 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : organisationLevelChecker.user -> organisati3_.idUtilisateur
2005-10-07 17:28:29,681 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity -> conformity1_.idConformite
2005-10-07 17:28:29,681 DEBUG [org.hibernate.hql.ast.DotNode] - getDataType() : lastUpdateDate -> org.hibernate.type.TimestampType@1b94ea2
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.FromReferenceNode] - Resolved : conformity.lastUpdateDate -> conformity1_.dateModification
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() : finishing up , level = 1
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.HqlSqlWalker] - processQuery() : ( SELECT ( {select clause} ( termimpl0_.idTerme termimpl0_.idTerme id ) ( termimpl0_.texte termimpl0_.idTerme textDB ) ( conformity1_.dateModification conformity1_.idConformite lastUpdateDate ) ( conformity1_.idTerme_dOrigine ( conformity1_.idTerme_dOrigine conformity1_.idConformite sourceTerm ) id ) ( termimpl4_.texte ( conformity1_.idTerme_dOrigine conformity1_.idConformite sourceTerm ) textDB ) ) ( FromClause{level=1} ( Terme termimpl0_ ( Conformite conformity1_ Utilisateur userimpl2_ Terme termimpl4_ ) ) Controlleur organisati3_ ) ( WHERE ( AND ( AND ( AND ( AND ( = ( conformity1_.statut conformity1_.idConformite statusDB ) ? ) ( = ( userimpl2_.idOrganisation userimpl2_.idUtilisateur organisation ) ( organisati3_.idOrganisation organisati3_.idControlleur organisation ) ) ) ( != userimpl2_.idUtilisateur organisati3_.idControlleur ) ) ( not ( EXISTS ( SELECT ( {derived select clause} conformity5_.idControlleur ) ( FromClause{level=2} Controlleur conformity5_ ) ( WHERE ( = ( conformity5_.idUtilisateur ( conformity5_.idUtilisateur conformity5_.idControlleur user ) id ) ( userimpl2_.idUtilisateur userimpl2_.idUtilisateur id ) ) ) ) ) ) ) ( = ( organisati3_.idUtilisateur organisati3_.idControlleur user ) ? ) ) ) ( ORDER ( conformity1_.dateModification conformity1_.idConformite lastUpdateDate ) ) )
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.JoinProcessor] - Using FROM fragment [Controlleur organisati3_]
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.SyntheticAndFactory] - Using WHERE fragment [organisati3_.typeDeControlleur='O']
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.SyntheticAndFactory] - Using WHERE fragment [conformity1_.idTerme_dOrigine=termimpl4_.idTerme]
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.JoinProcessor] - Using FROM fragment [inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur]
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.JoinProcessor] - Using FROM fragment [inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme]
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.ast.JoinProcessor] - Using FROM fragment [Terme termimpl0_]
2005-10-07 17:28:29,721 DEBUG [org.hibernate.hql.antlr.HqlSqlBaseWalker] - query() >> end, level = 1
2005-10-07 17:28:29,731 DEBUG [org.hibernate.hql.ast.AST] - --- SQL AST ---
\-[SELECT] QueryNode: 'SELECT' querySpaces (Utilisateur,Controlleur,Conformite,Terme)
+-[SELECT_CLAUSE] SelectClause: '{select clause}'
| +-[DOT] DotNode: 'termimpl0_.idTerme' {propertyName=id,dereferenceType=4,propertyPath=id,path=term.id,tableAlias=termimpl0_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=term}
| | +-[ALIAS_REF] IdentNode: 'termimpl0_.idTerme' {alias=term, className=com.joliciel.aplikaterm.domain.TermImpl, tableAlias=termimpl0_}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| +-[SELECT_COLUMNS] SqlNode: ' as col_0_0_'
| +-[DOT] DotNode: 'termimpl0_.texte' {propertyName=textDB,dereferenceType=4,propertyPath=textDB,path=term.textDB,tableAlias=termimpl0_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=term}
| | +-[ALIAS_REF] IdentNode: 'termimpl0_.idTerme' {alias=term, className=com.joliciel.aplikaterm.domain.TermImpl, tableAlias=termimpl0_}
| | \-[IDENT] IdentNode: 'textDB' {originalText=textDB}
| +-[SELECT_COLUMNS] SqlNode: ' as col_1_0_'
| +-[DOT] DotNode: 'conformity1_.dateModification' {propertyName=lastUpdateDate,dereferenceType=4,propertyPath=lastUpdateDate,path=conformity.lastUpdateDate,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | \-[IDENT] IdentNode: 'lastUpdateDate' {originalText=lastUpdateDate}
| +-[SELECT_COLUMNS] SqlNode: ' as col_2_0_'
| +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=id,dereferenceType=4,propertyPath=sourceTerm.id,path=conformity.sourceTerm.id,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=id,dereferenceType=ROOT_LEVEL,propertyPath=sourceTerm.id,path=conformity.sourceTerm,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | \-[IDENT] IdentNode: 'sourceTerm' {originalText=sourceTerm}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| +-[SELECT_COLUMNS] SqlNode: ' as col_3_0_'
| +-[DOT] DotNode: 'termimpl4_.texte' {propertyName=textDB,dereferenceType=4,propertyPath=textDB,path=conformity.sourceTerm.textDB,tableAlias=termimpl4_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=null}
| | +-[DOT] DotNode: 'conformity1_.idTerme_dOrigine' {propertyName=sourceTerm,dereferenceType=1,propertyPath=sourceTerm,path=conformity.sourceTerm,tableAlias=termimpl4_,className=com.joliciel.aplikaterm.domain.TermImpl,classAlias=null}
| | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | \-[IDENT] IdentNode: 'sourceTerm' {originalText=sourceTerm}
| | \-[IDENT] IdentNode: 'textDB' {originalText=textDB}
| \-[SELECT_COLUMNS] SqlNode: ' as col_4_0_'
+-[FROM] FromClause: 'FROM' FromClause{level=1, fromElementCounter=5, fromElements=5, fromElementByClassAlias=[conformity, term, submittedBy, organisationLevelChecker], fromElementByTableAlias=[termimpl4_, userimpl2_, conformity1_, termimpl0_, organisati3_], fromElementsByPath=[conformity.sourceTerm, conformity.submittedBy, term.conformityDB], collectionJoinFromElementsByPath=[], impliedElements=[]}
| +-[FROM_FRAGMENT] FromElement: 'Terme termimpl0_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=term,role=null,tableName=Terme,tableAlias=termimpl0_,colums={,className=com.joliciel.aplikaterm.domain.TermImpl}}
| | \-[JOIN_FRAGMENT] FromElement: 'inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformity,role=com.joliciel.aplikaterm.domain.TermImpl.conformityDB,tableName=Conformite,tableAlias=conformity1_,colums={termimpl0_.idTerme ,className=com.joliciel.aplikaterm.domain.ConformityImpl}}
| | +-[JOIN_FRAGMENT] FromElement: 'inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=submittedBy,role=null,tableName=Utilisateur,tableAlias=userimpl2_,colums={conformity1_.idSoumisPar ,className=com.joliciel.aplikaterm.domain.UserImpl}}
| | \-[FROM_FRAGMENT] ImpliedFromElement: 'Terme termimpl4_' ImpliedFromElement{implied,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=null,role=null,tableName=Terme,tableAlias=termimpl4_,colums={conformity1_.idTerme_dOrigine ,className=com.joliciel.aplikaterm.domain.TermImpl}}
| \-[FROM_FRAGMENT] FromElement: 'Controlleur organisati3_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=organisationLevelChecker,role=null,tableName=Controlleur,tableAlias=organisati3_,colums={,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl}}
\-[WHERE] SqlNode: 'WHERE'
+-[FILTERS] SqlNode: '{filter conditions}'
| \-[SQL_TOKEN] SqlFragment: 'organisati3_.typeDeControlleur='O''
\-[AND] SqlNode: 'AND'
+-[AND] SqlNode: 'AND'
| +-[AND] SqlNode: 'AND'
| | +-[AND] SqlNode: 'AND'
| | | +-[EQ] SqlNode: '='
| | | | +-[DOT] DotNode: 'conformity1_.statut' {propertyName=statusDB,dereferenceType=4,propertyPath=statusDB,path=conformity.statusDB,tableAlias=conformity1_,className=com.joliciel.aplikaterm.domain.ConformityImpl,classAlias=conformity}
| | | | | +-[ALIAS_REF] IdentNode: 'conformity1_.idConformite' {alias=conformity, className=com.joliciel.aplikaterm.domain.ConformityImpl, tableAlias=conformity1_}
| | | | | \-[IDENT] IdentNode: 'statusDB' {originalText=statusDB}
| | | | \-[NAMED_PARAM] SqlNode: '?'
| | | \-[EQ] SqlNode: '='
| | | +-[DOT] DotNode: 'userimpl2_.idOrganisation' {propertyName=organisation,dereferenceType=ROOT_LEVEL,propertyPath=organisation,path=submittedBy.organisation,tableAlias=userimpl2_,className=com.joliciel.aplikaterm.domain.UserImpl,classAlias=submittedBy}
| | | | +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| | | | \-[IDENT] IdentNode: 'organisation' {originalText=organisation}
| | | \-[DOT] DotNode: 'organisati3_.idOrganisation' {propertyName=organisation,dereferenceType=ROOT_LEVEL,propertyPath=organisation,path=organisationLevelChecker.organisation,tableAlias=organisati3_,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl,classAlias=organisationLevelChecker}
| | | +-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| | | \-[IDENT] IdentNode: 'organisation' {originalText=organisation}
| | \-[NE] SqlNode: '!='
| | +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| | \-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| \-[NOT] SqlNode: 'not'
| \-[EXISTS] SqlNode: 'EXISTS'
| \-[SELECT] QueryNode: 'SELECT' querySpaces (Utilisateur,Controlleur,Conformite,Terme)
| +-[SELECT_CLAUSE] SelectClause: '{derived select clause}'
| | \-[SELECT_EXPR] SelectExpressionImpl: 'conformity5_.idControlleur' {FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformityChecker,role=null,tableName=Controlleur,tableAlias=conformity5_,colums={,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl}}}
| +-[FROM] FromClause: 'FROM' FromClause{level=2, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[conformityChecker], fromElementByTableAlias=[conformity5_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
| | \-[FROM_FRAGMENT] FromElement: 'Controlleur conformity5_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=conformityChecker,role=null,tableName=Controlleur,tableAlias=conformity5_,colums={,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl}}
| \-[WHERE] SqlNode: 'WHERE'
| \-[EQ] SqlNode: '='
| +-[DOT] DotNode: 'conformity5_.idUtilisateur' {propertyName=id,dereferenceType=4,propertyPath=user.id,path=conformityChecker.user.id,tableAlias=conformity5_,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl,classAlias=conformityChecker}
| | +-[DOT] DotNode: 'conformity5_.idUtilisateur' {propertyName=id,dereferenceType=ROOT_LEVEL,propertyPath=user.id,path=conformityChecker.user,tableAlias=conformity5_,className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl,classAlias=conformityChecker}
| | | +-[ALIAS_REF] IdentNode: 'conformity5_.idControlleur' {alias=conformityChecker, className=com.joliciel.aplikaterm.domain.ConformityCheckerImpl, tableAlias=conformity5_}
| | | \-[IDENT] IdentNode: 'user' {originalText=user}
| | \-[IDENT] IdentNode: 'id' {originalText=id}
| \-[DOT] DotNode: 'userimpl2_.idUtilisateur' {propertyName=id,dereferenceType=4,propertyPath=id,path=submittedBy.id,tableAlias=userimpl2_,className=com.joliciel.aplikaterm.domain.UserImpl,classAlias=submittedBy}
| +-[ALIAS_REF] IdentNode: 'userimpl2_.idUtilisateur' {alias=submittedBy, className=com.joliciel.aplikaterm.domain.UserImpl, tableAlias=userimpl2_}
| \-[IDENT] IdentNode: 'id' {originalText=id}
\-[EQ] SqlNode: '='
+-[DOT] DotNode: 'organisati3_.idUtilisateur' {propertyName=user,dereferenceType=ROOT_LEVEL,propertyPath=user,path=organisationLevelChecker.user,tableAlias=organisati3_,className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl,classAlias=organisationLevelChecker}
| +-[ALIAS_REF] IdentNode: 'organisati3_.idControlleur' {alias=organisationLevelChecker, className=com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl, tableAlias=organisati3_}
| \-[IDENT] IdentNode: 'user' {originalText=user}
\-[NAMED_PARAM] SqlNode: '?'
2005-10-07 17:28:29,772 DEBUG [org.hibernate.hql.ast.ErrorCounter] - throwQueryException() : no errors
2005-10-07 17:28:29,772 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - HQL: SELECT term.id, term.textDB, conformity.lastUpdateDate, conformity.sourceTerm.id, conformity.sourceTerm.textDB FROM com.joliciel.aplikaterm.domain.TermImpl AS term JOIN term.conformityDB as conformity JOIN conformity.submittedBy AS submittedBy,com.joliciel.aplikaterm.domain.OrganisationLevelCheckerImpl as organisationLevelChecker WHERE conformity.statusDB = :status AND submittedBy.organisation = organisationLevelChecker.organisation AND submittedBy != organisationLevelChecker AND NOT EXISTS (FROM com.joliciel.aplikaterm.domain.ConformityCheckerImpl AS conformityChecker WHERE conformityChecker.user.id=submittedBy.id) AND organisationLevelChecker.user = :pendingCheckBy ORDER BY conformity.lastUpdateDate
2005-10-07 17:28:29,782 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] - SQL: select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?
2005-10-07 17:28:29,782 DEBUG [org.hibernate.hql.ast.ErrorCounter] - throwQueryException() : no errors
2005-10-07 17:28:29,782 DEBUG [org.hibernate.jdbc.AbstractBatcher] - about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
2005-10-07 17:28:29,782 DEBUG [org.hibernate.SQL] - select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?
2005-10-07 17:28:29,782 DEBUG [org.hibernate.jdbc.AbstractBatcher] - preparing statement
2005-10-07 17:28:29,782 DEBUG [org.hibernate.loader.hql.QueryLoader] - bindNamedParameters() ConformityStatusImpl[pending] -> status [1]
2005-10-07 17:28:29,782 DEBUG [org.hibernate.loader.hql.QueryLoader] - bindNamedParameters() 3 -> pendingCheckBy [2]
2005-10-07 17:28:29,782 DEBUG [org.hibernate.type.LongType] - binding '3' to parameter: 2
2005-10-07 17:28:29,782 DEBUG [org.hibernate.jdbc.AbstractBatcher] - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
2005-10-07 17:28:29,782 DEBUG [org.hibernate.jdbc.AbstractBatcher] - closing statement
2005-10-07 17:28:29,792 DEBUG [org.hibernate.util.JDBCExceptionReporter] - could not execute query using iterate [select termimpl0_.idTerme as col_0_0_, termimpl0_.texte as col_1_0_, conformity1_.dateModification as col_2_0_, conformity1_.idTerme_dOrigine as col_3_0_, termimpl4_.texte as col_4_0_ from Terme termimpl0_ inner join Conformite conformity1_ on termimpl0_.idTerme=conformity1_.idTerme inner join Utilisateur userimpl2_ on conformity1_.idSoumisPar=userimpl2_.idUtilisateur Terme termimpl4_, Controlleur organisati3_ where organisati3_.typeDeControlleur='O' and conformity1_.statut=? and userimpl2_.idOrganisation=organisati3_.idOrganisation and userimpl2_.idUtilisateur<>organisati3_.idControlleur and not (exists (select conformity5_.idControlleur from Controlleur conformity5_ where conformity5_.idUtilisateur=userimpl2_.idUtilisateur)) and organisati3_.idUtilisateur=?]
java.sql.SQLException: Line 1: Incorrect syntax near 'Terme'.
at net.sourceforge.jtds.jdbc.SqlMessage.toSQLException(SqlMessage.java:85)
at net.sourceforge.jtds.jdbc.SQLWarningChain.addOrReturn(SQLWarningChain.java:108)
at net.sourceforge.jtds.jdbc.Tds.submitProcedure(Tds.java:644)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.submitProcedure(PreparedStatement_base.java:184)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.execute(PreparedStatement_base.java:159)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.executeQuery(PreparedStatement_base.java:199)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:120)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1272)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1252)
at org.hibernate.loader.hql.QueryLoader.iterate(QueryLoader.java:411)
at org.hibernate.hql.ast.QueryTranslatorImpl.iterate(QueryTranslatorImpl.java:281)
at org.hibernate.impl.SessionImpl.iterate(SessionImpl.java:935)
at org.hibernate.impl.QueryImpl.iterate(QueryImpl.java:41)
at com.joliciel.aplikaterm.dao.hibernate.ConformityDaoHibernate.getTermsPendingConformityCheckByOrganisation(ConformityDaoHibernate.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:163)
at $Proxy12.getTermsPendingConformityCheckByOrganisation(Unknown Source)
at com.joliciel.aplikaterm.domain.ConformityServiceImpl.findTermsPendingConformityCheckByOrganisation(ConformityServiceImpl.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:118)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy21.findTermsPendingConformityCheckByOrganisation(Unknown Source)
at com.joliciel.aplikaterm.search.SearchPendingConformityCheckImpl.getResultInternal(SearchPendingConformityCheckImpl.java:54)
at com.joliciel.aplikaterm.search.SearchImpl.getIterator(SearchImpl.java:151)
at com.joliciel.aplikaterm.test.TestConformity.testConformityCheckingCircuit(TestConformity.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
_________________ Assaf Urieli
Joliciel Informatique
http://www.joli-ciel.com
|