ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin" <clinton.be...@gmail.com>
Subject RE: Can anyone offer help on "There is no WRITEABLE property named 'lName'"
Date Fri, 17 Aug 2007 22:33:12 GMT
The property name would be LName.

Javabeans is a screwy spec.  Thanks to the capitalization rules, if you have
two uppercase letters at the beginning of a property name, it doesn't change
the case.

God forbid they just leave the damn capitalization as it is typed in the
first place.  Would TitleCase properties have killed us all?

Does anyone think iBATIS 3 should be completely case insensitive in this
regard?  Really, do you ever have a need to differentiate two properties
only by case?


-----Original Message-----
From: Robert Glover [mailto:robertgloverjr@yahoo.com] 
Sent: August-17-07 3:48 PM
To: user-java@ibatis.apache.org
Subject: Can anyone offer help on "There is no WRITEABLE property named

I'm at my wits end, tearing my hair out over this problem.
I use Abator to generate all my IBatis classes and XML.

When my Spring web app starts up I get this error:

Error parsing XPath '/sqlMap/resultMap/result'.
Cause: com.ibatis.common.beans.ProbeException:
There is no WRITEABLE property named 'lName' in class

I have 27 tables, so I tried commenting out the offending table to see what
would happen then.  What happened is I got the same error but on a different
table.  That different table also had an "lName" property.

I did a lot of google-ing and most times this problem  is because manually
created iBatis XML has the wrong capitalization.  But I did not write any of
this, abator did.

   The offending tables have underscores in their table name, which Abator
removes.  I don't think that is it.  However in addition to that, the column
names in the tables have underscores.  The offending field, "lName", is
actually defined in the Oracle 10g database as "L_NAME".

    The abator generated set statements look okay to me. Here is one of
them. I
don't see how this would cause the problem, so I'm at my wits end.

     * This method was generated by Abator for iBATIS.
     * This method sets the value of the database column
     * @param lName the value for ATADMIN.IAV_ASSET_INFO2.L_NAME
     * @abatorgenerated Fri Aug 17 15:06:09 EDT 2007
    public void setLName(String lName) {
        this.lName = lName;


View raw message