[Seasar-user:1366] Re: MySQLのBoolカラム
Hideaki Maekawa
maekawa
2004年 12月 16日 (木) 11:47:37 JST
何度もすみません前川です。
MySQLのBOOLでエラーが発生する件ですが、insertではなくgetの方で
した。
public class T1 {
public static final String TABLE = "t1";
private Boolean bflg;
public Boolean getBflg() {
return bflg;
}
public void setBflg(Boolean bflg) {
this.bflg = bflg;
}
}
public interface T1Dao {
public static final Class BEAN = T1.class;
public void insert(T1 t1);
public T1[] getT1s();
}
public class Test {
public static void main(String[] args) {
S2Container container = S2ContainerFactory.create("T1.dicon");
T1Dao dao = (T1Dao) container.getComponent(T1Dao.class);
T1 t = new T1();
t.setBflg(Boolean.TRUE);
dao.insert(t);
T1[] l = dao.getT1s();
System.out.println(l[0]);
}
}
これでエラーが発生します。
[2004-12-16 11:38:53,895] [main] DEBUG (Logger.java:106) - 物理的なコネクションを取得しました
[2004-12-16 11:38:53,905] [main] DEBUG (Logger.java:106) - 論理的なコネクションを取得しました
[2004-12-16 11:38:54,075] [main] DEBUG (Logger.java:106) - 論理的なコネクションを閉じました
[2004-12-16 11:38:54,155] [main] DEBUG (Logger.java:106) - 論理的なコネクションを取得しました
[2004-12-16 11:38:54,155] [main] DEBUG (Logger.java:47) - INSERT INTO t1 (bflg) VALUES('true')
[2004-12-16 11:38:54,196] [main] DEBUG (Logger.java:106) - 論理的なコネクションを閉じました
[2004-12-16 11:38:54,216] [main] DEBUG (Logger.java:47) - SELECT t1.bflg FROM t1
[2004-12-16 11:38:54,216] [main] DEBUG (Logger.java:106) - 論理的なコネクションを取得しました
[2004-12-16 11:38:54,236] [main] DEBUG (Logger.java:106) - 論理的なコネクションを閉じました
org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(seasar.T1)のプロパティ(bflg)の設定に失敗しました。理由はjava.lang.IllegalArgumentException: argument type mismatch
at org.seasar.framework.beans.impl.PropertyDescImpl.setValue(PropertyDescImpl.java:91)
at org.seasar.dao.impl.AbstractBeanMetaDataResultSetHandler.createRow(AbstractBeanMetaDataResultSetHandler.java:43)
at org.seasar.dao.impl.BeanListMetaDataResultSetHandler.handle(BeanListMetaDataResultSetHandler.java:33)
at org.seasar.dao.impl.BeanArrayMetaDataResultSetHandler.handle(BeanArrayMetaDataResultSetHandler.java:21)
at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:138)
at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:110)
at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:97)
at org.seasar.dao.impl.SelectDynamicCommand.execute(SelectDynamicCommand.java:37)
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:37)
at org.seasar.framework.aop.impl.MethodInvocationImpl.proceed(MethodInvocationImpl.java:82)
at org.seasar.framework.aop.proxy.AopProxy.intercept(AopProxy.java:151)
at seasar.T1Dao$$EnhancerByCGLIB$$d83b533a.getT1s(<generated>)
at seasar.Test.main(Test.java:40)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:27)
at org.seasar.framework.beans.impl.PropertyDescImpl.setValue(PropertyDescImpl.java:88)
... 12 more
Exception in thread "main"
ちなみにPostgresql 8.0-beta2-dev3(Windows 2000)では大丈夫で
した。
--
株式会社フリーダム システム開発部
前川英昭 <[E-MAIL ADDRESS DELETED]>
DFEC F450 263C 26D2 C3D1 3494 4D88 DA18 4EA5 1CD4
Seasar-user メーリングリストの案内