Having dealt with this recently in hibernate...

Hibernate's support for lazy fetching sucks. :) It's there, and it's the 
default, when possible. But, for instance, toOne relationships can generally 
only be lazily fetched if they are also mandatory (see, eg: 
https://community.jboss.org/wiki/SomeExplanationsOnLazyLoadingone-to-one).  As 
a workaround, the hibernate community suggests mapping the toOne as a toMany 
and creating custom getters/setters  (or else build-time instrumentation). 

Every time I'm forced (for client projects) to use hibernate, I find myself 
wondering how in the /world/ it /ever/ became the dominant player in the ORM 
world.

Robert

On Mar 28, 2012, at 3/289:19 AM , Joe Baldwin wrote:

> on the "aside":
> 
> the last time we discussed this, it appears that Hibernate *implements* the 
> rules differently (and very poorly in my humble opinion), and *so* 
> differently that I would argue that they don't support it vey well.  The 
> methodologies behind the Cayenne relationship handling are quite advanced and 
> as "idiot proof" as Java GC.
> 
> 
> On Mar 28, 2012, at 10:04 AM, Durchholz, Joachim wrote:
> 
>>> I think what Michael was saying was, that the answer is that 'lazy loading
>>> of data object relationship data is supported and is the default mechanism'.
>> 
>> That's what I read, too.
>> 
>>> (In fact this is one of the main strengths of Cayenne in my opinion)
>> 
>> On a tangent, I don't think this can be advertised as a special strength of 
>> Cayenne.
>> Think about it: Any ORM that does not do by-default lazy association loading 
>> will quickly find itself loading the entire database. If it wasn't built 
>> into the ORM right from the beginning, the ORM is essentially useless and 
>> will either die or get that feature added ASAP.
>> 
>> The more interesting comparison would be how easily an application developer 
>> could specify when to load eagerly.
>> (Not that I'm in a position to actually do such a comparison. ;-) )
> 

Reply via email to