ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Benedict <pbened...@apache.org>
Subject Re: Odd behavior with CGLIB
Date Sat, 27 Jan 2007 00:53:02 GMT
Clinton,

Have you gotten a chance to test out the example? I believe an easy fix 
to the CGLIB proxy could be made.

Paul

Niels Beekman wrote:
> We had exactly the same issue, calling a method from within the
> constructor triggers "lazy" loading, which obviously isn't very lazy
> anymore.
>
> We ended up adding enhancer.setInterceptDuringConstruction(false) where
> an Enhancer-object is constructed (2 times in EnhancedLazyResultLoader).
>
> This could however cause problems when you are accessing uninitialized
> variables (not loaded from DB), but we're fine with that.
>
> HTH,
>
> Niels
>
> -----Original Message-----
> From: Paul Benedict [mailto:paulus.benedictus@gmail.com] On Behalf Of
> Paul Benedict
> Sent: dinsdag 23 januari 2007 5:05
> To: User Ibatis
> Subject: Odd behavior with CGLIB
>
> Can someone tell me if this is a bug in iBATIS:
>
> I turned on lazy loading of a class. In the constructor of the object, I
>
> called a protected method to initialize some properties. Example:
>
> public MyClassConstructor() {
>    setId(-1);
> }
>
> Because I called a method, iBATIS marked this class has "loaded" but it 
> was never really loaded. Only by replacing setId(-1) with this.id = -1; 
> was I able to prevent the "loaded" variable from being immediately set.
>
> I believe there is some sort of sequencing error here. The class should 
> not be considered initialized until after the constructor returns.
> Thoughts?
>
> Paul
>
>   


Mime
View raw message