Hi Jeff,

A couple more thoughts...

It's worth noting that I don't get the error when I use the hierarchical 
values approach without lazy loading, and get my films info from my 
actor objects.

 > Thanks for this info. The performance problem is most likely due to the
 > fact that FDMS is fetching the list of films for each actor... this is
 > the lazy loading issue we have currently that I mentioned in a previous
 > post. If we were to follow the hibernate model more closely, we'd send
 > "actor" instances to the client without having populated the list of
 > films for each actor at all. The first "get" call made on the films
 > property for a given actor would then go back to the server and fetch
 > them. As it is now, we'll do one query to retrieve the list of actors,
 > then a query for each actor to get its list of films. For a large DB,
 > this is a lot of queries to do.

 > This is a pretty high priority feature request. For now, the workaround
 > would be to modify your domain model so there is an intermediate object
 > but that is awkward when you are generating everything from the simple
 > schema.

I'm not sure that I understand this. I believe that I have "an 
intermediate object" - filmActor.java and filmActor.as.

Are you suggesting that I use that object - or rather those objects - as 
a way of finding out what filmIds are related to an actorId? I.e. that I 
load them from their own destination? I'm tired so if this isn't clear, 
don't worry about it. :-)

Do I understand correctly that until we get the fix lazy loading isn't 
necessarily going to solve any performance problems?

Douglas




Jeff Vroom wrote:
>
> Thanks for this info. The performance problem is most likely due to the
> fact that FDMS is fetching the list of films for each actor... this is
> the lazy loading issue we have currently that I mentioned in a previous
> post. If we were to follow the hibernate model more closely, we'd send
> "actor" instances to the client without having populated the list of
> films for each actor at all. The first "get" call made on the films
> property for a given actor would then go back to the server and fetch
> them. As it is now, we'll do one query to retrieve the list of actors,
> then a query for each actor to get its list of films. For a large DB,
> this is a lot of queries to do.
>
> This is a pretty high priority feature request. For now, the workaround
> would be to modify your domain model so there is an intermediate object
> but that is awkward when you are generating everything from the simple
> schema.
>
> As to why it is not working, from the output, the "filmId" of each Film
> object is getting sent to the client as a "null" value. I am not sure
> why... I can't tell if it is retrieving the values from the database as
> null or if FDMS is just not getting the values from the objects
> properly. It could have something to do with the "short" data type - I
> do not think we've tried id properties as short values so maybe
> something is getting messed up because of that? It might be worth
> changing that to an int if that is an easy test to run.
>
> I will try to get a chance to look at this more tomorrow.
>
> Jeff
>
> -----Original Message-----
> From: [email protected] <mailto:flexcoders%40yahoogroups.com> 
> [mailto:[email protected] 
> <mailto:flexcoders%40yahoogroups.com>] On
> Behalf Of Douglas McCarroll
> Sent: Wednesday, November 29, 2006 11:26 AM
> To: [email protected] <mailto:flexcoders%40yahoogroups.com>
> Subject: Re: [flexcoders] many-to-many managed association in Hibernate
> destination
>
> Jeff Vroom wrote:
>
> > 4) If you turn on debug logging in the server for
> > the "Endpoint.*" logging category, you'll see the
> > object graph which is sent to the client after
> > your fill. I am curious if the time is being
> > spent loading the data from the database or
> > sending data to the client, or a combination of
> > both.
>
> Okay, I've figured out how to do this part. Results here:
>
> http://www.brightworks.com/technology/tech_questions/hibernate_lazy_asso 
> <http://www.brightworks.com/technology/tech_questions/hibernate_lazy_asso>
> ciations/debug_log_01.txt
>
> > If you can also turn on debug logging of the SQL
> > that hibernate is using that would help figure out
> > if we are just fetching too many objects or what.
>
> It looks as though I do this by adding a line to
> HibernateManager.java...
>
> public void createSessionFactory(Configuration hibernateConfig,
> boolean useTransactions) throws ExceptionInInitializerError
> {
> try
> {
>
> New Line -> hibernateConfig.setProperty("hibernate.show_sql", "true")
>
> sessionFactory = hibernateConfig.buildSessionFactory();
>
> Yes?
>
> BTW, in case someone finds this someday with Google, here are some
> resources:
>
> FDS Logging:
>
> http://livedocs.macromedia.com/flex/2/docs/wwhelp/wwhimpl/common/html/ww 
> <http://livedocs.macromedia.com/flex/2/docs/wwhelp/wwhimpl/common/html/ww>
> help.htm?context=LiveDocs_Parts&file=00001112.html
>
> http://weblogs.macromedia.com/dharfleet/archives/2006/08/debugging_flex. 
> <http://weblogs.macromedia.com/dharfleet/archives/2006/08/debugging_flex.>
> cfm
>
> http://tech.groups.yahoo.com/group/flexcoders/message/56192 
> <http://tech.groups.yahoo.com/group/flexcoders/message/56192>
>
> Hibernate Logging:
>
> http://www.javalobby.org/java/forums/t44119.html 
> <http://www.javalobby.org/java/forums/t44119.html>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt 
> <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com 
> <http://www.mail-archive.com/flexcoders%40yahoogroups.com>
> Yahoo! Groups Links
>
>  

Reply via email to