Hello, My name is Alexandre and I'm a student in the University of Geneva in the Information Systems departement.
I'm currently working on a web application using an OJB layer. I have a problem of column ambiguously defined when querying my Oracle Database through OJB's QueryFactory method. I read Jakob Braeuchi's answer to Naveen regarding column prefixes. Unfortunately, I didn't quite understand his solution: how can I base columns on attributes? here is the method querying the database: PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker(); Collection rootelements = null; Criteria crit = new Criteria(); crit.addEqualTo("INROOT","1"); Query q = QueryFactory.newQuery(Folder.class, crit); try{ rootelements = broker.getCollectionByQuery(q); } catch(PersistenceBrokerException e) { e.printStackTrace(); if(broker != null) broker.abortTransaction(); } finally { if (broker != null) broker.close(); } And here is the part of the relevant repository: <class-descriptor schema="FM" class="matis.component.filemanager.Folder" table="FOLDER"> <field-descriptor name="id_Elem" column="ID_FOLDER" jdbc-type="INTEGER" primarykey="true"/> <collection-descriptor name="fichiersContained" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" element-class-ref="matis.component.filemanager.Fichier" auto-retrieve="true" auto-update="true" auto-delete="true" indirection-table="INFOLD"> <fk-pointing-to-this-class column="FOL_ID_ELEMENT"/> <fk-pointing-to-element-class column="ID_ELEMENT"/> </collection-descriptor> <collection-descriptor name="foldersContained" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" element-class-ref="matis.component.filemanager.Folder" auto-retrieve="true" auto-update="true" auto-delete="true" indirection-table="INFOLD"> <fk-pointing-to-this-class column="FOL_ID_ELEMENT"/> <fk-pointing-to-element-class column="ID_ELEMENT"/> </collection-descriptor> <reference-descriptor name="super" class-ref="matis.component.filemanager.Element" auto-retrieve="true" auto-update="true" auto-delete="true"> <foreignkey field-ref="id_Elem"/> </reference-descriptor> </class-descriptor> When logging OJB's activity, I can see the query who raises the Oracle exception (ORA-00918: column ambiguously defined), here it is: SELECT A0.ID_FOLDER FROM FM.FOLDER A0,INFOLD,FM.element A1,INFOLD WHERE A0.ID_FOLDER=A1.ID_ELEMENT AND ((INFOLD.FOL_ID_ELEMENT IN (?,?,?)) AND A0.ID_FOLDER = INFOLD.ID_ELEMENT) I'm a bit lost since it's my first time using OJB (I hope it's not the last). Thanks a lot for reading my request and thanks in advance for your help. Yours Sincerely, Alexandre Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]