You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Dawson Lewis <ha...@yahoo.com.br> on 2009/07/22 15:58:11 UTC

LazyLoading and CGLIB return wrong types

Hi ,

I have an object with a List property - List<Address> addresses, after
iBatis populates this object  the addresses fields will not contain a list
of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to the
eclipse debugger.

This only happens when lazyLoadingEnabled and enhancementEnabled are set to
true.

Is there anyway I can get  a list of addresses (List<Address>) without
disabling lazy loading or enhancement ?

Best regards
-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Stelio Macumbe <ha...@yahoo.com.br>.
I am just adding functionality to an application which has been running for
some time , I can't just disable lazy loading without knowing what
(disastrous) side effects it could cause

Jeff Butler-2 wrote:
> 
> Are you really sure that lazy loading is buying you anything?  I think
> people turn this on because it's theoretically cool, but I really
> doubt its efficacy in so many cases.  It seems like turning it off
> would solve all your issues - and maybe wouldn't have any noticeable
> impact on your application performance.  It's worth a try.
> 
> Jeff Butler
> 
> 
> On Wed, Jul 29, 2009 at 2:09 AM, Dawson Lewis<ha...@yahoo.com.br>
> wrote:
>>
>> Hi,
>> I am aware of that , but there are so many fields to exclude. It should
>> not
>> be that way .
>> Plus it is really annoying to track all those classes iBatis is creating.
>>
>> Look at the following XML snippet xStream is producing
>> <addresses class="dynamic-proxy">
>>
>> I may able of omitting fields but how do I get rid of the class attribute
>> ?
>>
>> I tried type casting before serializing but it also does not work.
>>
>> Stelio
>>
>> cmathrusse wrote:
>>>
>>> XStream already has the capability to exclude specific fields from the
>>> serialization. It's rather easy:
>>>
>>> com.thoughtworks.xstream.XStream xstream;
>>> ...
>>> xstream.omitField(YouriBatisClass.class, "fieldName");
>>>
>>> That's it! You can omit as many fields as you want.
>>> You can even omit them with Annotations but I don't think that would
>>> help
>>> much with CGLIB generated classes.
>>>
>>> Chris Mathrusse
>>> christopher.mathrusse@sybase.com
>>> Sybase, Inc
>>>
>>>
>>>
>>>
>>> From:
>>> Clinton Begin <cl...@gmail.com>
>>> To:
>>> user-java@ibatis.apache.org
>>> Date:
>>> 07/28/2009 06:10 AM
>>> Subject:
>>> Re: LazyLoading and CGLIB return wrong types
>>>
>>>
>>>
>>> You'll have to paste it in, as attachements get stripped.
>>>
>>> I think I've seen it before though, a bunch of $adfweragvav type fields.
>>> I wish there was a way in XStream to ignore fields that start with $ or
>>> something.  You'd have the same problem with any framework that uses
>>> CGLIB
>>> or ASM etc.
>>>
>>> I've heard that Betwixt might be a good alternative to XStream in this
>>> regard.  Or you could try modifying XStream to ignore $ fields and subit
>>> a
>>> patch back to them.
>>>
>>> Cheers,
>>> Clinton
>>>
>>> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br>
>>> wrote:
>>>
>>> Hi,
>>> It is what I am doing , I am using xStream 1.3  for serializing , I was
>>> using the 1.3.1 version before but it could not serialize synchronized
>>> collections , then I switch to 1.3. It seems that xStream is also
>>> serializing those objects created by iBatis at runtime . Have a look at
>>> the
>>> xml file generated by xStream , see how much "garbage" (meaning no
>>> disrespect for either iBatis or xStream because I love them both) is
>>> being
>>> added.
>>>
>>> I do not want to serialize  these iBatis enhanced objects  .
>>>
>>> Regards,
>>> Stelio
>>>
>>>
>>> Have you tried serializing to XStream or another alternative, instead of
>>> using Java's serialization?  While this is a limitation of iBATI 2
>>> (version
>>> 3 solves it somewhat, but still not between systems), you should never
>>> depend on Java serialization for connecting two systems.  You should
>>> choose
>>> a more canonical serialization process.  XStream is my personal
>>> favourite,
>>> but there are many others (even some binary).
>>>
>>> Java serialization is a bad thing to depend upon.
>>>
>>> Cheers,
>>> Clinton
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>
>>>
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24733352.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Jeff Butler <je...@gmail.com>.
Are you really sure that lazy loading is buying you anything?  I think
people turn this on because it's theoretically cool, but I really
doubt its efficacy in so many cases.  It seems like turning it off
would solve all your issues - and maybe wouldn't have any noticeable
impact on your application performance.  It's worth a try.

Jeff Butler


On Wed, Jul 29, 2009 at 2:09 AM, Dawson Lewis<ha...@yahoo.com.br> wrote:
>
> Hi,
> I am aware of that , but there are so many fields to exclude. It should not
> be that way .
> Plus it is really annoying to track all those classes iBatis is creating.
>
> Look at the following XML snippet xStream is producing
> <addresses class="dynamic-proxy">
>
> I may able of omitting fields but how do I get rid of the class attribute ?
>
> I tried type casting before serializing but it also does not work.
>
> Stelio
>
> cmathrusse wrote:
>>
>> XStream already has the capability to exclude specific fields from the
>> serialization. It's rather easy:
>>
>> com.thoughtworks.xstream.XStream xstream;
>> ...
>> xstream.omitField(YouriBatisClass.class, "fieldName");
>>
>> That's it! You can omit as many fields as you want.
>> You can even omit them with Annotations but I don't think that would help
>> much with CGLIB generated classes.
>>
>> Chris Mathrusse
>> christopher.mathrusse@sybase.com
>> Sybase, Inc
>>
>>
>>
>>
>> From:
>> Clinton Begin <cl...@gmail.com>
>> To:
>> user-java@ibatis.apache.org
>> Date:
>> 07/28/2009 06:10 AM
>> Subject:
>> Re: LazyLoading and CGLIB return wrong types
>>
>>
>>
>> You'll have to paste it in, as attachements get stripped.
>>
>> I think I've seen it before though, a bunch of $adfweragvav type fields.
>> I wish there was a way in XStream to ignore fields that start with $ or
>> something.  You'd have the same problem with any framework that uses CGLIB
>> or ASM etc.
>>
>> I've heard that Betwixt might be a good alternative to XStream in this
>> regard.  Or you could try modifying XStream to ignore $ fields and subit a
>> patch back to them.
>>
>> Cheers,
>> Clinton
>>
>> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br>
>> wrote:
>>
>> Hi,
>> It is what I am doing , I am using xStream 1.3  for serializing , I was
>> using the 1.3.1 version before but it could not serialize synchronized
>> collections , then I switch to 1.3. It seems that xStream is also
>> serializing those objects created by iBatis at runtime . Have a look at
>> the
>> xml file generated by xStream , see how much "garbage" (meaning no
>> disrespect for either iBatis or xStream because I love them both) is being
>> added.
>>
>> I do not want to serialize  these iBatis enhanced objects  .
>>
>> Regards,
>> Stelio
>>
>>
>> Have you tried serializing to XStream or another alternative, instead of
>> using Java's serialization?  While this is a limitation of iBATI 2
>> (version
>> 3 solves it somewhat, but still not between systems), you should never
>> depend on Java serialization for connecting two systems.  You should
>> choose
>> a more canonical serialization process.  XStream is my personal favourite,
>> but there are many others (even some binary).
>>
>> Java serialization is a bad thing to depend upon.
>>
>> Cheers,
>> Clinton
>>
>> --
>> View this message in context:
>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Ch...@sybase.com.
Aside from the fact that you don't want to write any additional code, this 
option is viable. It seems that you could easily create a Java class that 
could generate all of you XStream converters for you using reflection to 
discover the fields of "your" objects. This would only take a short time 
to write and could generate all the converters for you tens of classes. 

I'm certain that there are other options available to generate the 
converters for you as well, but if you are well versed in Java then it 
should be a small effort. You've already stated that you don't want to 
disable lazy loading as it may have an impact on the system, and this 
would be an almost zero impact on your existing system.

Chris Mathrusse
christopher.mathrusse@sybase.com
Sybase, Inc




From:
Stelio Macumbe <ha...@yahoo.com.br>
To:
user-java@ibatis.apache.org
Date:
07/30/2009 12:25 AM
Subject:
Re: LazyLoading and CGLIB return wrong types




Probably it would but the reason I am using xStream is because it does the
(conversion) job quickly and easily , I don't really want to spend much 
time
on writing code for conversion , not to mention that are tens of classes 
to
be marshaled. 

Stelio

cmathrusse wrote:
> 
> Why not then create a custom converter for your class? 
> http://xstream.codehaus.org/converter-tutorial.html
> 
> You can create a custom converter for XStream that will convert your 
> object into XML using only the fields that you want marshalled, 
> effectively eliminating all fields that are generated by CGLIB. Wouldn't 

> that solve your issue?
> 
> Chris Mathrusse
> christopher.mathrusse@sybase.com
> Sybase, Inc
> 
> 
> 
> 
> From:
> Dawson Lewis <ha...@yahoo.com.br>
> To:
> user-java@ibatis.apache.org
> Date:
> 07/29/2009 12:09 AM
> Subject:
> Re: LazyLoading and CGLIB return wrong types
> 
> 
> 
> 
> Hi,
> I am aware of that , but there are so many fields to exclude. It should 
> not
> be that way .
> Plus it is really annoying to track all those classes iBatis is 
creating.
> 
> Look at the following XML snippet xStream is producing
> <addresses class="dynamic-proxy">
> 
> I may able of omitting fields but how do I get rid of the class 
attribute 
> ?
> 
> I tried type casting before serializing but it also does not work.
> 
> Stelio
> 
> cmathrusse wrote:
>> 
>> XStream already has the capability to exclude specific fields from the 
>> serialization. It's rather easy:
>> 
>> com.thoughtworks.xstream.XStream xstream;
>> ...
>> xstream.omitField(YouriBatisClass.class, "fieldName");
>> 
>> That's it! You can omit as many fields as you want.
>> You can even omit them with Annotations but I don't think that would 
> help 
>> much with CGLIB generated classes.
>> 
>> Chris Mathrusse
>> christopher.mathrusse@sybase.com
>> Sybase, Inc
>> 
>> 
>> 
>> 
>> From:
>> Clinton Begin <cl...@gmail.com>
>> To:
>> user-java@ibatis.apache.org
>> Date:
>> 07/28/2009 06:10 AM
>> Subject:
>> Re: LazyLoading and CGLIB return wrong types
>> 
>> 
>> 
>> You'll have to paste it in, as attachements get stripped.
>> 
>> I think I've seen it before though, a bunch of $adfweragvav type 
fields. 
> 
>> I wish there was a way in XStream to ignore fields that start with $ or 

>> something.  You'd have the same problem with any framework that uses 
> CGLIB 
>> or ASM etc. 
>> 
>> I've heard that Betwixt might be a good alternative to XStream in this 
>> regard.  Or you could try modifying XStream to ignore $ fields and 
subit 
> a 
>> patch back to them. 
>> 
>> Cheers,
>> Clinton
>> 
>> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis 
<ha...@yahoo.com.br> 
> 
>> wrote:
>> 
>> Hi,
>> It is what I am doing , I am using xStream 1.3  for serializing , I was
>> using the 1.3.1 version before but it could not serialize synchronized
>> collections , then I switch to 1.3. It seems that xStream is also
>> serializing those objects created by iBatis at runtime . Have a look at 

>> the
>> xml file generated by xStream , see how much "garbage" (meaning no
>> disrespect for either iBatis or xStream because I love them both) is 
> being
>> added.
>> 
>> I do not want to serialize  these iBatis enhanced objects  .
>> 
>> Regards,
>> Stelio
>> 
>> 
>> Have you tried serializing to XStream or another alternative, instead 
of
>> using Java's serialization?  While this is a limitation of iBATI 2 
>> (version
>> 3 solves it somewhat, but still not between systems), you should never
>> depend on Java serialization for connecting two systems.  You should 
>> choose
>> a more canonical serialization process.  XStream is my personal 
> favourite,
>> but there are many others (even some binary).
>> 
>> Java serialization is a bad thing to depend upon.
>> 
>> Cheers,
>> Clinton
>> 
>> --
>> View this message in context: 
>> 
> 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html

> 
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>> 
>> 
>> 
>> 
>> 
> 
> -- 
> View this message in context: 
> 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html

> 
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24733436.html

Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org





Re: LazyLoading and CGLIB return wrong types

Posted by Stelio Macumbe <ha...@yahoo.com.br>.
Probably it would but the reason I am using xStream is because it does the
(conversion) job quickly and easily , I don't really want to spend much time
on writing code for conversion , not to mention that are tens of classes to
be marshaled. 

Stelio

cmathrusse wrote:
> 
> Why not then create a custom converter for your class?  
> http://xstream.codehaus.org/converter-tutorial.html
> 
> You can create a custom converter for XStream that will convert your 
> object into XML using only the fields that you want marshalled, 
> effectively eliminating all fields that are generated by CGLIB. Wouldn't 
> that solve your issue?
> 
> Chris Mathrusse
> christopher.mathrusse@sybase.com
> Sybase, Inc
> 
> 
> 
> 
> From:
> Dawson Lewis <ha...@yahoo.com.br>
> To:
> user-java@ibatis.apache.org
> Date:
> 07/29/2009 12:09 AM
> Subject:
> Re: LazyLoading and CGLIB return wrong types
> 
> 
> 
> 
> Hi,
> I am aware of that , but there are so many fields to exclude. It should 
> not
> be that way .
> Plus it is really annoying to track all those classes iBatis is creating.
> 
> Look at the following XML snippet xStream is producing
> <addresses class="dynamic-proxy">
> 
> I may able of omitting fields but how do I get rid of the class attribute 
> ?
> 
> I tried type casting before serializing but it also does not work.
> 
> Stelio
> 
> cmathrusse wrote:
>> 
>> XStream already has the capability to exclude specific fields from the 
>> serialization. It's rather easy:
>> 
>> com.thoughtworks.xstream.XStream xstream;
>> ...
>> xstream.omitField(YouriBatisClass.class, "fieldName");
>> 
>> That's it! You can omit as many fields as you want.
>> You can even omit them with Annotations but I don't think that would 
> help 
>> much with CGLIB generated classes.
>> 
>> Chris Mathrusse
>> christopher.mathrusse@sybase.com
>> Sybase, Inc
>> 
>> 
>> 
>> 
>> From:
>> Clinton Begin <cl...@gmail.com>
>> To:
>> user-java@ibatis.apache.org
>> Date:
>> 07/28/2009 06:10 AM
>> Subject:
>> Re: LazyLoading and CGLIB return wrong types
>> 
>> 
>> 
>> You'll have to paste it in, as attachements get stripped.
>> 
>> I think I've seen it before though, a bunch of $adfweragvav type fields. 
>  
>> I wish there was a way in XStream to ignore fields that start with $ or 
>> something.  You'd have the same problem with any framework that uses 
> CGLIB 
>> or ASM etc. 
>> 
>> I've heard that Betwixt might be a good alternative to XStream in this 
>> regard.  Or you could try modifying XStream to ignore $ fields and subit 
> a 
>> patch back to them. 
>> 
>> Cheers,
>> Clinton
>> 
>> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br> 
> 
>> wrote:
>> 
>> Hi,
>> It is what I am doing , I am using xStream 1.3  for serializing , I was
>> using the 1.3.1 version before but it could not serialize synchronized
>> collections , then I switch to 1.3. It seems that xStream is also
>> serializing those objects created by iBatis at runtime . Have a look at 
>> the
>> xml file generated by xStream , see how much "garbage" (meaning no
>> disrespect for either iBatis or xStream because I love them both) is 
> being
>> added.
>> 
>> I do not want to serialize  these iBatis enhanced objects  .
>> 
>> Regards,
>> Stelio
>> 
>> 
>> Have you tried serializing to XStream or another alternative, instead of
>> using Java's serialization?  While this is a limitation of iBATI 2 
>> (version
>> 3 solves it somewhat, but still not between systems), you should never
>> depend on Java serialization for connecting two systems.  You should 
>> choose
>> a more canonical serialization process.  XStream is my personal 
> favourite,
>> but there are many others (even some binary).
>> 
>> Java serialization is a bad thing to depend upon.
>> 
>> Cheers,
>> Clinton
>> 
>> --
>> View this message in context: 
>> 
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
> 
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>> 
>> 
>> 
>> 
>> 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html
> 
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24733436.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Ch...@sybase.com.
Why not then create a custom converter for your class?  
http://xstream.codehaus.org/converter-tutorial.html

You can create a custom converter for XStream that will convert your 
object into XML using only the fields that you want marshalled, 
effectively eliminating all fields that are generated by CGLIB. Wouldn't 
that solve your issue?

Chris Mathrusse
christopher.mathrusse@sybase.com
Sybase, Inc




From:
Dawson Lewis <ha...@yahoo.com.br>
To:
user-java@ibatis.apache.org
Date:
07/29/2009 12:09 AM
Subject:
Re: LazyLoading and CGLIB return wrong types




Hi,
I am aware of that , but there are so many fields to exclude. It should 
not
be that way .
Plus it is really annoying to track all those classes iBatis is creating.

Look at the following XML snippet xStream is producing
<addresses class="dynamic-proxy">

I may able of omitting fields but how do I get rid of the class attribute 
?

I tried type casting before serializing but it also does not work.

Stelio

cmathrusse wrote:
> 
> XStream already has the capability to exclude specific fields from the 
> serialization. It's rather easy:
> 
> com.thoughtworks.xstream.XStream xstream;
> ...
> xstream.omitField(YouriBatisClass.class, "fieldName");
> 
> That's it! You can omit as many fields as you want.
> You can even omit them with Annotations but I don't think that would 
help 
> much with CGLIB generated classes.
> 
> Chris Mathrusse
> christopher.mathrusse@sybase.com
> Sybase, Inc
> 
> 
> 
> 
> From:
> Clinton Begin <cl...@gmail.com>
> To:
> user-java@ibatis.apache.org
> Date:
> 07/28/2009 06:10 AM
> Subject:
> Re: LazyLoading and CGLIB return wrong types
> 
> 
> 
> You'll have to paste it in, as attachements get stripped.
> 
> I think I've seen it before though, a bunch of $adfweragvav type fields. 
 
> I wish there was a way in XStream to ignore fields that start with $ or 
> something.  You'd have the same problem with any framework that uses 
CGLIB 
> or ASM etc. 
> 
> I've heard that Betwixt might be a good alternative to XStream in this 
> regard.  Or you could try modifying XStream to ignore $ fields and subit 
a 
> patch back to them. 
> 
> Cheers,
> Clinton
> 
> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br> 

> wrote:
> 
> Hi,
> It is what I am doing , I am using xStream 1.3  for serializing , I was
> using the 1.3.1 version before but it could not serialize synchronized
> collections , then I switch to 1.3. It seems that xStream is also
> serializing those objects created by iBatis at runtime . Have a look at 
> the
> xml file generated by xStream , see how much "garbage" (meaning no
> disrespect for either iBatis or xStream because I love them both) is 
being
> added.
> 
> I do not want to serialize  these iBatis enhanced objects  .
> 
> Regards,
> Stelio
> 
> 
> Have you tried serializing to XStream or another alternative, instead of
> using Java's serialization?  While this is a limitation of iBATI 2 
> (version
> 3 solves it somewhat, but still not between systems), you should never
> depend on Java serialization for connecting two systems.  You should 
> choose
> a more canonical serialization process.  XStream is my personal 
favourite,
> but there are many others (even some binary).
> 
> Java serialization is a bad thing to depend upon.
> 
> Cheers,
> Clinton
> 
> --
> View this message in context: 
> 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html

> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html

Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org





RE: LazyLoading and CGLIB return wrong types

Posted by Chris Lamey <cl...@localmatters.com>.
Yea, your best bet is to disable lazy loading.


-----Original Message-----
From: Dawson Lewis [mailto:hardcoreehb@yahoo.com.br]
Sent: Wed 7/29/2009 1:09 AM
To: user-java@ibatis.apache.org
Subject: Re: LazyLoading and CGLIB return wrong types
 

Hi,
I am aware of that , but there are so many fields to exclude. It should not
be that way .
Plus it is really annoying to track all those classes iBatis is creating.

Look at the following XML snippet xStream is producing
<addresses class="dynamic-proxy">

I may able of omitting fields but how do I get rid of the class attribute ?

I tried type casting before serializing but it also does not work.

Stelio

cmathrusse wrote:
> 
> XStream already has the capability to exclude specific fields from the 
> serialization. It's rather easy:
> 
> com.thoughtworks.xstream.XStream xstream;
> ...
> xstream.omitField(YouriBatisClass.class, "fieldName");
> 
> That's it! You can omit as many fields as you want.
> You can even omit them with Annotations but I don't think that would help 
> much with CGLIB generated classes.
> 
> Chris Mathrusse
> christopher.mathrusse@sybase.com
> Sybase, Inc
> 
> 
> 
> 
> From:
> Clinton Begin <cl...@gmail.com>
> To:
> user-java@ibatis.apache.org
> Date:
> 07/28/2009 06:10 AM
> Subject:
> Re: LazyLoading and CGLIB return wrong types
> 
> 
> 
> You'll have to paste it in, as attachements get stripped.
> 
> I think I've seen it before though, a bunch of $adfweragvav type fields.  
> I wish there was a way in XStream to ignore fields that start with $ or 
> something.  You'd have the same problem with any framework that uses CGLIB 
> or ASM etc. 
> 
> I've heard that Betwixt might be a good alternative to XStream in this 
> regard.  Or you could try modifying XStream to ignore $ fields and subit a 
> patch back to them. 
> 
> Cheers,
> Clinton
> 
> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br> 
> wrote:
> 
> Hi,
> It is what I am doing , I am using xStream 1.3  for serializing , I was
> using the 1.3.1 version before but it could not serialize synchronized
> collections , then I switch to 1.3. It seems that xStream is also
> serializing those objects created by iBatis at runtime . Have a look at 
> the
> xml file generated by xStream , see how much "garbage" (meaning no
> disrespect for either iBatis or xStream because I love them both) is being
> added.
> 
> I do not want to serialize  these iBatis enhanced objects  .
> 
> Regards,
> Stelio
> 
> 
> Have you tried serializing to XStream or another alternative, instead of
> using Java's serialization?  While this is a limitation of iBATI 2 
> (version
> 3 solves it somewhat, but still not between systems), you should never
> depend on Java serialization for connecting two systems.  You should 
> choose
> a more canonical serialization process.  XStream is my personal favourite,
> but there are many others (even some binary).
> 
> Java serialization is a bad thing to depend upon.
> 
> Cheers,
> Clinton
> 
> --
> View this message in context: 
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org



Re: LazyLoading and CGLIB return wrong types

Posted by Dawson Lewis <ha...@yahoo.com.br>.
Hi,
I am aware of that , but there are so many fields to exclude. It should not
be that way .
Plus it is really annoying to track all those classes iBatis is creating.

Look at the following XML snippet xStream is producing
<addresses class="dynamic-proxy">

I may able of omitting fields but how do I get rid of the class attribute ?

I tried type casting before serializing but it also does not work.

Stelio

cmathrusse wrote:
> 
> XStream already has the capability to exclude specific fields from the 
> serialization. It's rather easy:
> 
> com.thoughtworks.xstream.XStream xstream;
> ...
> xstream.omitField(YouriBatisClass.class, "fieldName");
> 
> That's it! You can omit as many fields as you want.
> You can even omit them with Annotations but I don't think that would help 
> much with CGLIB generated classes.
> 
> Chris Mathrusse
> christopher.mathrusse@sybase.com
> Sybase, Inc
> 
> 
> 
> 
> From:
> Clinton Begin <cl...@gmail.com>
> To:
> user-java@ibatis.apache.org
> Date:
> 07/28/2009 06:10 AM
> Subject:
> Re: LazyLoading and CGLIB return wrong types
> 
> 
> 
> You'll have to paste it in, as attachements get stripped.
> 
> I think I've seen it before though, a bunch of $adfweragvav type fields.  
> I wish there was a way in XStream to ignore fields that start with $ or 
> something.  You'd have the same problem with any framework that uses CGLIB 
> or ASM etc. 
> 
> I've heard that Betwixt might be a good alternative to XStream in this 
> regard.  Or you could try modifying XStream to ignore $ fields and subit a 
> patch back to them. 
> 
> Cheers,
> Clinton
> 
> On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br> 
> wrote:
> 
> Hi,
> It is what I am doing , I am using xStream 1.3  for serializing , I was
> using the 1.3.1 version before but it could not serialize synchronized
> collections , then I switch to 1.3. It seems that xStream is also
> serializing those objects created by iBatis at runtime . Have a look at 
> the
> xml file generated by xStream , see how much "garbage" (meaning no
> disrespect for either iBatis or xStream because I love them both) is being
> added.
> 
> I do not want to serialize  these iBatis enhanced objects  .
> 
> Regards,
> Stelio
> 
> 
> Have you tried serializing to XStream or another alternative, instead of
> using Java's serialization?  While this is a limitation of iBATI 2 
> (version
> 3 solves it somewhat, but still not between systems), you should never
> depend on Java serialization for connecting two systems.  You should 
> choose
> a more canonical serialization process.  XStream is my personal favourite,
> but there are many others (even some binary).
> 
> Java serialization is a bad thing to depend upon.
> 
> Cheers,
> Clinton
> 
> --
> View this message in context: 
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24713673.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Ch...@sybase.com.
XStream already has the capability to exclude specific fields from the 
serialization. It's rather easy:

com.thoughtworks.xstream.XStream xstream;
...
xstream.omitField(YouriBatisClass.class, "fieldName");

That's it! You can omit as many fields as you want.
You can even omit them with Annotations but I don't think that would help 
much with CGLIB generated classes.

Chris Mathrusse
christopher.mathrusse@sybase.com
Sybase, Inc




From:
Clinton Begin <cl...@gmail.com>
To:
user-java@ibatis.apache.org
Date:
07/28/2009 06:10 AM
Subject:
Re: LazyLoading and CGLIB return wrong types



You'll have to paste it in, as attachements get stripped.

I think I've seen it before though, a bunch of $adfweragvav type fields.  
I wish there was a way in XStream to ignore fields that start with $ or 
something.  You'd have the same problem with any framework that uses CGLIB 
or ASM etc. 

I've heard that Betwixt might be a good alternative to XStream in this 
regard.  Or you could try modifying XStream to ignore $ fields and subit a 
patch back to them. 

Cheers,
Clinton

On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br> 
wrote:

Hi,
It is what I am doing , I am using xStream 1.3  for serializing , I was
using the 1.3.1 version before but it could not serialize synchronized
collections , then I switch to 1.3. It seems that xStream is also
serializing those objects created by iBatis at runtime . Have a look at 
the
xml file generated by xStream , see how much "garbage" (meaning no
disrespect for either iBatis or xStream because I love them both) is being
added.

I do not want to serialize  these iBatis enhanced objects  .

Regards,
Stelio


Have you tried serializing to XStream or another alternative, instead of
using Java's serialization?  While this is a limitation of iBATI 2 
(version
3 solves it somewhat, but still not between systems), you should never
depend on Java serialization for connecting two systems.  You should 
choose
a more canonical serialization process.  XStream is my personal favourite,
but there are many others (even some binary).

Java serialization is a bad thing to depend upon.

Cheers,
Clinton

--
View this message in context: 
http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org




Re: LazyLoading and CGLIB return wrong types

Posted by Clinton Begin <cl...@gmail.com>.
You'll have to paste it in, as attachements get stripped.

I think I've seen it before though, a bunch of $adfweragvav type fields.  I
wish there was a way in XStream to ignore fields that start with $ or
something.  You'd have the same problem with any framework that uses CGLIB
or ASM etc.

I've heard that Betwixt might be a good alternative to XStream in this
regard.  Or you could try modifying XStream to ignore $ fields and subit a
patch back to them.

Cheers,
Clinton

On Tue, Jul 28, 2009 at 2:35 AM, Dawson Lewis <ha...@yahoo.com.br>wrote:

>
> Hi,
> It is what I am doing , I am using xStream 1.3  for serializing , I was
> using the 1.3.1 version before but it could not serialize synchronized
> collections , then I switch to 1.3. It seems that xStream is also
> serializing those objects created by iBatis at runtime . Have a look at the
> xml file generated by xStream , see how much "garbage" (meaning no
> disrespect for either iBatis or xStream because I love them both) is being
> added.
>
> I do not want to serialize  these iBatis enhanced objects  .
>
> Regards,
> Stelio
>
>
> Have you tried serializing to XStream or another alternative, instead of
> using Java's serialization?  While this is a limitation of iBATI 2 (version
> 3 solves it somewhat, but still not between systems), you should never
> depend on Java serialization for connecting two systems.  You should choose
> a more canonical serialization process.  XStream is my personal favourite,
> but there are many others (even some binary).
>
> Java serialization is a bad thing to depend upon.
>
> Cheers,
> Clinton
>
> --
> View this message in context:
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

Re: LazyLoading and CGLIB return wrong types

Posted by Dawson Lewis <ha...@yahoo.com.br>.
Hi,
It is what I am doing , I am using xStream 1.3  for serializing , I was
using the 1.3.1 version before but it could not serialize synchronized
collections , then I switch to 1.3. It seems that xStream is also
serializing those objects created by iBatis at runtime . Have a look at the
xml file generated by xStream , see how much "garbage" (meaning no
disrespect for either iBatis or xStream because I love them both) is being
added.

I do not want to serialize  these iBatis enhanced objects  .

Regards,
Stelio


Have you tried serializing to XStream or another alternative, instead of
using Java's serialization?  While this is a limitation of iBATI 2 (version
3 solves it somewhat, but still not between systems), you should never
depend on Java serialization for connecting two systems.  You should choose
a more canonical serialization process.  XStream is my personal favourite,
but there are many others (even some binary).

Java serialization is a bad thing to depend upon.

Cheers,
Clinton

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24694842.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Clinton Begin <cl...@gmail.com>.
Have you tried serializing to XStream or another alternative, instead of
using Java's serialization?  While this is a limitation of iBATI 2 (version
3 solves it somewhat, but still not between systems), you should never
depend on Java serialization for connecting two systems.  You should choose
a more canonical serialization process.  XStream is my personal favourite,
but there are many others (even some binary).

Java serialization is a bad thing to depend upon.

Cheers,
Clinton

On Mon, Jul 27, 2009 at 1:44 AM, Dawson Lewis <ha...@yahoo.com.br>wrote:

>
> Hi,
> Do you have any clue in how to do that ?
> I created a clone method for the Address class so every object is cloned
> before it is serialized. It works fine but do you think this is a good idea
> ?
>
> Best Regards
>
> Stelio
>
> Larry Meadors wrote:
> >
> > You should be able to, yeah.
> >
> > Larry
> >
> >
> > On Thu, Jul 23, 2009 at 12:39 AM, Dawson Lewis<ha...@yahoo.com.br>
> > wrote:
> >>
> >> Thanks for you reply Larry,
> >>
> >> Is there a way I can get the "normal" Address objects ? I need to
> >> serialize
> >> those objects to XML , the extra fields in these enhanced classes will
> >> create problems when deserializing because maybe the application that
> >> will
> >> deserialize is not using iBatis. Can't I just disable lazy loading and
> >> CGLIB
> >> for performing serialization ?
> >>
> >> Regards
> >>
> >>
> >> Larry Meadors wrote:
> >>>
> >>> They are still Address objects, just enhanced ones.
> >>>
> >>> Larry
> >>>
> >>>
> >>> On Wed, Jul 22, 2009 at 7:58 AM, Dawson Lewis<hardcoreehb@yahoo.com.br
> >
> >>> wrote:
> >>>>
> >>>> Hi ,
> >>>>
> >>>> I have an object with a List property - List<Address> addresses, after
> >>>> iBatis populates this object  the addresses fields will not contain a
> >>>> list
> >>>> of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to
> >>>> the
> >>>> eclipse debugger.
> >>>>
> >>>> This only happens when lazyLoadingEnabled and enhancementEnabled are
> >>>> set
> >>>> to
> >>>> true.
> >>>>
> >>>> Is there anyway I can get  a list of addresses (List<Address>) without
> >>>> disabling lazy loading or enhancement ?
> >>>>
> >>>> Best regards
> >>>> --
> >>>> View this message in context:
> >>>>
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
> >>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> >>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
> >>>>
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> >>> For additional commands, e-mail: user-java-help@ibatis.apache.org
> >>>
> >>>
> >>>
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24620151.html
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> >> For additional commands, e-mail: user-java-help@ibatis.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > For additional commands, e-mail: user-java-help@ibatis.apache.org
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24675025.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

Re: LazyLoading and CGLIB return wrong types

Posted by Dawson Lewis <ha...@yahoo.com.br>.
Hi,
Do you have any clue in how to do that ? 
I created a clone method for the Address class so every object is cloned
before it is serialized. It works fine but do you think this is a good idea
?

Best Regards

Stelio

Larry Meadors wrote:
> 
> You should be able to, yeah.
> 
> Larry
> 
> 
> On Thu, Jul 23, 2009 at 12:39 AM, Dawson Lewis<ha...@yahoo.com.br>
> wrote:
>>
>> Thanks for you reply Larry,
>>
>> Is there a way I can get the "normal" Address objects ? I need to
>> serialize
>> those objects to XML , the extra fields in these enhanced classes will
>> create problems when deserializing because maybe the application that
>> will
>> deserialize is not using iBatis. Can't I just disable lazy loading and
>> CGLIB
>> for performing serialization ?
>>
>> Regards
>>
>>
>> Larry Meadors wrote:
>>>
>>> They are still Address objects, just enhanced ones.
>>>
>>> Larry
>>>
>>>
>>> On Wed, Jul 22, 2009 at 7:58 AM, Dawson Lewis<ha...@yahoo.com.br>
>>> wrote:
>>>>
>>>> Hi ,
>>>>
>>>> I have an object with a List property - List<Address> addresses, after
>>>> iBatis populates this object  the addresses fields will not contain a
>>>> list
>>>> of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to
>>>> the
>>>> eclipse debugger.
>>>>
>>>> This only happens when lazyLoadingEnabled and enhancementEnabled are
>>>> set
>>>> to
>>>> true.
>>>>
>>>> Is there anyway I can get  a list of addresses (List<Address>) without
>>>> disabling lazy loading or enhancement ?
>>>>
>>>> Best regards
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
>>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24620151.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24675025.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Larry Meadors <la...@gmail.com>.
You should be able to, yeah.

Larry


On Thu, Jul 23, 2009 at 12:39 AM, Dawson Lewis<ha...@yahoo.com.br> wrote:
>
> Thanks for you reply Larry,
>
> Is there a way I can get the "normal" Address objects ? I need to serialize
> those objects to XML , the extra fields in these enhanced classes will
> create problems when deserializing because maybe the application that will
> deserialize is not using iBatis. Can't I just disable lazy loading and CGLIB
> for performing serialization ?
>
> Regards
>
>
> Larry Meadors wrote:
>>
>> They are still Address objects, just enhanced ones.
>>
>> Larry
>>
>>
>> On Wed, Jul 22, 2009 at 7:58 AM, Dawson Lewis<ha...@yahoo.com.br>
>> wrote:
>>>
>>> Hi ,
>>>
>>> I have an object with a List property - List<Address> addresses, after
>>> iBatis populates this object  the addresses fields will not contain a
>>> list
>>> of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to
>>> the
>>> eclipse debugger.
>>>
>>> This only happens when lazyLoadingEnabled and enhancementEnabled are set
>>> to
>>> true.
>>>
>>> Is there anyway I can get  a list of addresses (List<Address>) without
>>> disabling lazy loading or enhancement ?
>>>
>>> Best regards
>>> --
>>> View this message in context:
>>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
>>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24620151.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Dawson Lewis <ha...@yahoo.com.br>.
Thanks for you reply Larry,

Is there a way I can get the "normal" Address objects ? I need to serialize
those objects to XML , the extra fields in these enhanced classes will
create problems when deserializing because maybe the application that will
deserialize is not using iBatis. Can't I just disable lazy loading and CGLIB
for performing serialization ?

Regards


Larry Meadors wrote:
> 
> They are still Address objects, just enhanced ones.
> 
> Larry
> 
> 
> On Wed, Jul 22, 2009 at 7:58 AM, Dawson Lewis<ha...@yahoo.com.br>
> wrote:
>>
>> Hi ,
>>
>> I have an object with a List property - List<Address> addresses, after
>> iBatis populates this object  the addresses fields will not contain a
>> list
>> of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to
>> the
>> eclipse debugger.
>>
>> This only happens when lazyLoadingEnabled and enhancementEnabled are set
>> to
>> true.
>>
>> Is there anyway I can get  a list of addresses (List<Address>) without
>> disabling lazy loading or enhancement ?
>>
>> Best regards
>> --
>> View this message in context:
>> http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24620151.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Re: LazyLoading and CGLIB return wrong types

Posted by Larry Meadors <la...@gmail.com>.
They are still Address objects, just enhanced ones.

Larry


On Wed, Jul 22, 2009 at 7:58 AM, Dawson Lewis<ha...@yahoo.com.br> wrote:
>
> Hi ,
>
> I have an object with a List property - List<Address> addresses, after
> iBatis populates this object  the addresses fields will not contain a list
> of address objects but a List$$EnhancerCGLIBb$$475a4210 , according to the
> eclipse debugger.
>
> This only happens when lazyLoadingEnabled and enhancementEnabled are set to
> true.
>
> Is there anyway I can get  a list of addresses (List<Address>) without
> disabling lazy loading or enhancement ?
>
> Best regards
> --
> View this message in context: http://www.nabble.com/LazyLoading-and-CGLIB-return-wrong-types-tp24607048p24607048.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org