S2Dao 1.0.8

ちょっと試してみたが,以下のような不具合らしき現象が発生している…

  • Oracle で付属のサンプルを実行すると, EmployeeAutoDao#getEmployeesBySal() メソッドの実行で例外発生.

(ORA-00933: SQLコマンドが正しく終了されていません。)
その時の SQL

SELECT EMP.empno, EMP.ename, EMP.job, EMP.mgr, EMP.hiredate, EMP.sal, EMP.comm, EMP.deptno, department.deptno AS deptno_0, department.dname AS dname_0, department.loc AS loc_0, department.versionNo AS versionNo_0 FROM EMP, DEPT department WHERE EMP.deptno = department.deptno(+)sal BETWEEN 0.0 AND 1000.0 ORDER BY empno

サンプルの Employee クラスに以下のように COLUMN アノテーションを指定.

    public static final String enames_COLUMN = "ename";

StackTrace

org.seasar.framework.beans.PropertyNotFoundRuntimeException: [ESSR0065]クラス(examples.dao.Employee)のプロパティ(ename)が見つかりません
DEBUG 2004-09-24 15:07:57,086 [main] 物理的なコネクションを閉じました
	at org.seasar.dao.impl.DtoMetaDataImpl.getPropertyType(DtoMetaDataImpl.java:70)
	at org.seasar.dao.impl.BeanMetaDataImpl.getPropertyTypeByAliasName(BeanMetaDataImpl.java:86)
	at org.seasar.dao.impl.DaoMetaDataImpl.createAutoSelectSqlByDto(DaoMetaDataImpl.java:271)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupSelectMethodByAuto(DaoMetaDataImpl.java:247)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethodByAuto(DaoMetaDataImpl.java:134)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupMethod(DaoMetaDataImpl.java:114)
	at org.seasar.dao.impl.DaoMetaDataImpl.setupSqlCommand(DaoMetaDataImpl.java:97)
	at org.seasar.dao.impl.DaoMetaDataImpl.<init>(DaoMetaDataImpl.java:89)
	at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMetaData(DaoMetaDataFactoryImpl.java:41)
	at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:35)
	at org.seasar.framework.aop.impl.MethodInvocationImpl.proceed(MethodInvocationImpl.java:60)
	at org.seasar.framework.aop.proxy.AopProxy.intercept(AopProxy.java:123)
	at examples.dao.EmployeeAutoDao$$EnhancerByCGLIB$$56a67bb9.getEmployeeByJobDeptno(<generated>)
	at examples.dao.EmployeeAutoDaoClient.main(EmployeeAutoDaoClient.java:19)
Exception in thread "main" 

これは,Oracle でも HSQLDB でも発生.