ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Sokolov <alexei.soko...@gmail.com>
Subject Re: help with ibatis 3 & objectwrapper, metaobject, etc.
Date Thu, 25 Feb 2010 04:03:58 GMT
Not sure what are you trying to say.

That hibernate has friendly community? Or that they have a better  
designed library?

-- Alex
Sent from my mobile

On Feb 24, 2010, at 7:28 PM, Clinton Begin <clinton.begin@gmail.com>  

> Yes, iBATIS has a mechanism that allows you to do what you want to  
> do.  It's called Hibernate.
> https://www.hibernate.org/
> Enjoy.
> On Wed, Feb 24, 2010 at 8:11 PM, Alexei Sokolov <alexei.sokolov@gmail.com 
> > wrote:
> Well, Microsoft Office has Excel, which is a good spreadsheet. Does  
> ibatis has a mechanism that allows me to do what I want to do?
> If intented use for objectwrapper was scala, why didn't you call it  
> scalaobjectwrapper? Obviously you had other potential uses in mind.
> BTW, can you point me to some scala examples? Can ibatis map java  
> lists and maps to scala lists and maps?
> Thanks,
> -- Alex
> Sent from my mobile
> On Feb 24, 2010, at 6:35 PM, Clinton Begin <clinton.begin@gmail.com>  
> wrote:
>> What you're trying to do with ObjectWrapper is beyond its intended  
>> use. It was never a consideration nor an intention for the  
>> ObjectWrapper to instantiate objects.  ObjectWrapper was originally  
>> implemented to support Scala types, and perhaps to support a custom  
>> property naming convention or some other type (e.g. XML).
>> It was not intended to change or intercept the result object  
>> lifecycle or override the result object entirely.
>> You can call it a design problem if you like.  But it's kind of  
>> like saying Microsoft Word has a design problem because it isn't a  
>> very good spreadsheet.
>> Clinton
>> On Wed, Feb 24, 2010 at 11:11 AM, Alexei Sokolov <alexei.sokolov@gmail.com 
>> > wrote:
>> Hello everyone,
>> I'm new here, but either I don't understand ibatis internals or you  
>> have a design problem. First, let me share my understanding of how  
>> ibatis handles mapping of result sets to beans:
>> In *ResultSetHandler.getRowValue() method you create object  
>> instance using objectfactory. then you create metaobject for it,  
>> which in turn creates objectwrapper for that object instance. Then  
>> you use meta object methods to populate property values on that  
>> object instance. During this process both metaobject and  
>> objectwrapper essentially write values directly to the object  
>> instance returned from object factory.
>> Now, consider this scenario: let's say my object wrapper constructs  
>> intermediate object first and populates its values. Than when I'm  
>> done processing a row, I want to create actual object instance that  
>> will be returned to the client. How do I do this with the current  
>> implementation? Ideally, it will be nice if ObjectWrapper had a  
>> method, say 'getPopulatedInstance()' and then line 179 in  
>> FastResultSetHandler.getRowValue() (and other such places) could be  
>> rewritten like
>> resultObject = foundValues ? metaObject.getObjectWrapper 
>> ().getPopulatedInstance() : null;
>> instead of
>> resultObject = foundValues ? resultObject : null;
>> In other words, it would be nice if objectwrapper is able to create  
>> new instances in addition to being able to work as decorator.
>> Does it make sense at all?
>> Thanks,
>> Alex

View raw message