You mapping looks good for me, as well as your Consultant class.. About exeption: an exception what i tolking about shouldl be thrown if you trying to access an element of lazily loaded collection outside a transaction when it was loaded. I mean:
db.begin(); OQLQuery objects = db.getOQLQuery(stmt_select); QueryResults results = objects.execute(); Consultant cons = (Consultant)results.next(); Iterator it = cons.getGrades().iterator(); while(it.hasNext()) { Grade g =(Grade)it.next(); System.out.println(g.toString()); } db.commit(); this will work fine. But this will throw an exection: db.begin(); OQLQuery objects = db.getOQLQuery(stmt_select); QueryResults results = objects.execute(); Consultant cons = (Consultant)results.next(); db.commit(); Iterator it = cons.getGrades().iterator(); while(it.hasNext()) { Grade g =(Grade)it.next(); System.out.println(g.toString()); } Hope this will help. ----- Original Message ----- From: "Alexandre Hoang" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, March 07, 2003 12:34 PM Subject: Re: [castor-dev] Lazy loading - how to be sure ? > OK thanks. > > I only have this exception: java.lang.ClassCastException. So I don't have > lazy loading. > > Coud you just confirm to me that, to implement lazy loading, for the > "Consultant" class I have to: > > A- set "lazy" to "true", like this: > --------------- > <class name="Consultant" identity="consID" key-generator="IDENTITY"> > <map-to table="CONSULT"/> > ... > <field name="grades" type="Grade" lazy="true" collection ="collection" > > <sql many-key="CONSID" /> > </field> > </class> > --------------- > > B- and write my Consultant class like this: > --------------- > public class Consultant { > ... > private Collection grades = new ArrayList(); > ... > public Collection getGrades() { > return this.grades; > } > public void setGrades(Collection g) { > this.grades = g; > } > public void addGrade(Collection g) { > this.grades.add(g); > } > } > --------------- > > > > Thanks ! > > Alexandre > > > -----Message d'origine----- > De : Denis Sukhoroslov [mailto:[EMAIL PROTECTED] > Envoyé : vendredi 7 mars 2003 10:24 > À : [EMAIL PROTECTED] > Objet : Re: [castor-dev] Lazy loading - how to be sure ? > > > An error skack should look like: > > java.lang.RuntimeException: Transaction is closed! > at org.exolab.castor.persist.RelationCollection$IteratorImp.lazyLoad > .......................... > > > ----- Original Message ----- > From: "Alexandre Hoang" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, March 07, 2003 11:58 AM > Subject: Re: [castor-dev] Lazy loading - how to be sure ? > > > > Hello, > > > > In order to check if my objects of the class "Consultant" are lazily > loaded, > > I have written this piece of code: > > ------------------ > > QueryResults results = query.execute(); > > Consultant cons = new Consultant(); > > cons = (Consultant)results.next(); > > > > Object[] objArray = cons.getGrades().toArray(); > > > > Iterator it = cons.getGrades().iterator(); > > while(it.hasNext()) { > > Grade g =(Grade)it.next(); > > System.out.println(g.toString()); > > } > > ------------------ > > When I set lazy="false" in the mapping file, this piece of code is OK. > > When I set lazy="true", I have an exception with the line: > > "Object[] objArray = cons.getGrades().toArray();" > > Is it a reasonable piece of evidence that my "Consultant" objects are > lazily > > loaded ? > > > > > > Thanks, > > > > Alexandre > > > > > > > > > > -----Message d'origine----- > > De : Denis Sukhoroslov [mailto:[EMAIL PROTECTED] > > Envoyé : jeudi 6 mars 2003 18:04 > > À : [EMAIL PROTECTED] > > Objet : Re: [castor-dev] Lazy loading - how to be sure ? > > > > > > Yes. If this collection is lazily loaded you should get an exception on > > line: Grade g =(Grade)it.next(); > > > > ----- Original Message ----- > > From: "Alexandre Hoang" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Thursday, March 06, 2003 7:09 PM > > Subject: [castor-dev] Lazy loading - how to be sure ? > > > > > > > Hello, > > > > > > Sorry for the dumb question, but I need to know... > > > > > > I have modified my "mapping.xml" file and my classes to enable lazy > > loading. > > > I can save my objects and load them correctly. > > > But is there a (simple) way I can verify that my objects are really > loaded > > > lazily ? > > > -------------- > > > In this case, I have : > > > > > > cons = (Consultant)results.next(); > > > Collection al = cons.getGrades(); > > > Iterator it =al.iterator(); > > > while(it.hasNext()) { > > > Grade g =(Grade)it.next(); > > > System.out.println(g.getSkill()); > > > } > > > > > > -------------- > > > Thanks, > > > > > > Alexandre > > > > > > > > > > > > > > > > > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * > > * > > > Confidentiality Notice : > > > The information contained in this e-mail message is intended only for > the > > > personal and confidential use of the recipient(s) named above. If the > > reader > > > of this message is not the intended recipient or an agent responsible > for > > > delivering it to the intended recipient, you are hereby notified that > you > > > have received this document in error and that any review, dissemination, > > > distribution, or copying of this message is strictly prohibited. If you > > have > > > received this communication in error, please notify > [EMAIL PROTECTED] > > > immediately by e-mail, and delete the original message. > > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * > > * > > > > > > ----------------------------------------------------------- > > > If you wish to unsubscribe from this mailing, send mail to > > > [EMAIL PROTECTED] with a subject of: > > > unsubscribe castor-dev > > > > > > > ----------------------------------------------------------- > > If you wish to unsubscribe from this mailing, send mail to > > [EMAIL PROTECTED] with a subject of: > > unsubscribe castor-dev > > > > > > > > > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * > > Confidentiality Notice : > > The information contained in this e-mail message is intended only for the > > personal and confidential use of the recipient(s) named above. If the > reader > > of this message is not the intended recipient or an agent responsible for > > delivering it to the intended recipient, you are hereby notified that you > > have received this document in error and that any review, dissemination, > > distribution, or copying of this message is strictly prohibited. If you > have > > received this communication in error, please notify [EMAIL PROTECTED] > > immediately by e-mail, and delete the original message. > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * > > > > ----------------------------------------------------------- > > If you wish to unsubscribe from this mailing, send mail to > > [EMAIL PROTECTED] with a subject of: > > unsubscribe castor-dev > > > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > > > > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > Confidentiality Notice : > The information contained in this e-mail message is intended only for the > personal and confidential use of the recipient(s) named above. If the reader > of this message is not the intended recipient or an agent responsible for > delivering it to the intended recipient, you are hereby notified that you > have received this document in error and that any review, dissemination, > distribution, or copying of this message is strictly prohibited. If you have > received this communication in error, please notify [EMAIL PROTECTED] > immediately by e-mail, and delete the original message. > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev