ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niels Beekman" <n.beek...@wis.nl>
Subject RE: Direct-to-Field mappings now implemented.
Date Wed, 14 Feb 2007 08:05:29 GMT
Hi Clinton,

I have been using something like this (custom written) for over a year,
and was happy to see it implemented in iBATIS, just when I was about to
try the new syntax I saw your commit log:

"Changed syntax of field mappings to be exactly the same as property
mappings. It now decides to use field mappings only if set/get methods
do not exist."

Does this mean it can only be used as a fallback? That would be a
show-stopper for me, since I use it to prevent issues when loading
objects from the database. For example: our setters have validation code
in place which shouldn't be triggered when loading from the database.



-----Original Message-----
From: Clinton Begin [mailto:clinton.begin@gmail.com] 
Sent: vrijdag 9 februari 2007 8:45
To: dev@ibatis.apache.org; user-java@ibatis.apache.org
Subject: Direct-to-Field mappings now implemented.

Hi all,

I found a few hours tonight to implement direct-to-field mappings.  I
don't have any energy left to explain it fully, but it's simple to
use, so here's the summary.

To implement this, I changed the ClassInfo to accept a new pattern of
"property" access.  You can now wrap a field names in round brackets
to distinguish them from properties.  So:

"id" is a property.
"(id)" is a field.

These can be mixed with properties like:


This last point is important and is the primary reason I didn't use a
new XML tag -- that would have severely limited the mix-n-match
ability of the feature (and it would have been harder to implement).

This approach works for reads and writes and for both inline or
external parameter maps and result maps.

It should be ubiquitous.  Anywhere you used to use property names, you
can now use (field) names too.

Thoughts?  It's not too late to change the syntax (round brackets) or
anything else.

I think it's the simplest, most flexible and performant approach.


View raw message