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"