ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bahri Gencsoy <bahri.genc...@gmail.com>
Subject Property starting with 'i' character in Turkish Locale
Date Fri, 04 Nov 2005 20:06:15 GMT
Think about the most simple database table, just containing ID column as an
integer:

CREATE TABLE SAMPLE(ID INTEGER NOT NULL PRIMARY KEY)

 And very simple mapping configuration, as stated in the tutorial:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Sample">
<select id="getSample" resultClass="mypackage.Sample">
SELECT
ID as id
WHERE ID = #value#
</select>
</sqlMap>

 And '*Sample'* bean with "getId()" and "setId(int i)" methods.
 All the other configurations are handled as needed. The problem is, the
returned object's "id" property is never set in Turkish locale! It is easy
to regenerate:

Locale.setDefault(new Locale("tr")); //if you change this with "en", it
works!
Sample sample = (Sample) map.queryForObject("getSample", new Integer(3));
System.out.println(sample.getId()); //0 value, instead of 3

 It just works fine if you change locale to "en", but not acceptable for
me!!! And I don't want to change & switchback locale everytime.
 'i' is a special character in Turkish, unlike the other latin languages,
capital 'i' is 'İ' for Turkish, not 'I'. (I am not sure if you will see the
difference in the mail, 'I' with a dot above it-can not remember the
technical name). I tried to track the problem for 2 hours, but little
success. I think the problem is in mapping from XML to property names, since
I have seen that (while debugging) reflection for bean gives correct
property names (in com.ibatis.common.beans.ClassInfo class's
addMethods()method).
 I'm using hsqldb 1.8.0.1 <http://1.8.0.1> and ibatis 2.1.5 (latest versions
up to date)
  Any advice?
 Thanks in advance,
Bahri GENCSOY
Mime
View raw message