[Seasar-user:6077] [S2Dao]s2dao-tigerでBeanクラスのファイルが見つからない
sumihito shiga
[E-MAIL ADDRESS DELETED]
2007年 2月 8日 (木) 16:51:44 JST
志賀と申します。
いつも参考にさせていただいております。
S2Daoを使ったサンプルを作っていて、DoltengでDaoとEntityを自動生成するところまでは、問題なくできました。
しかし、自動生成されたコードを、s2dao-tigerを使ったものに変更したところ、以下のような例外が発生し解決の糸口がみつかりません。
たいへん恐縮ですが、解決方法をお教え願えませんでしょうか。
【環境】
s2-extension-2.4.8.jar
s2-framework-2.4.8.jar
s2-tiger-2.4.8.jar
s2-dao-1.0.40.jar
s2-dao-tiger-1.0.40.jar
Exception in thread "main"
org.seasar.framework.beans.FieldNotFoundRuntimeException:
[ESSR0070]クラス(example.dao.EmpDao)のフィールド(BEAN)が見つかりません
at org.seasar.framework.beans.impl.BeanDescImpl.getField(BeanDescImpl.java:162)
at org.seasar.dao.impl.FieldDaoAnnotationReader.getBeanClass(FieldDaoAnnotationReader.java:87)
at org.seasar.dao.impl.DaoMetaDataImpl.initialize(DaoMetaDataImpl.java:134)
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.createDaoMetaData(DaoMetaDataFactoryImpl.java:120)
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMetaData(DaoMetaDataFactoryImpl.java:102)
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:51)
at example.dao.EmpDao$$EnhancedByS2AOP$$198a455$$MethodInvocation$$selectAll4.proceed(MethodInvocationClassGenerator.java)
at example.dao.EmpDao$$EnhancedByS2AOP$$198a455.selectAll(EmpDao$$EnhancedByS2AOP$$198a455.java)
at example.service.Sample.main(Sample.java:20)
コードは次のようになります。
【Daoクラス】
package example.dao;
import org.seasar.dao.annotation.tiger.S2Dao;
import example.entity.Emp;
@S2Dao(bean=Emp.class)
public interface EmpDao {
// public static final Class BEAN = Emp.class;
public static final String selectById_ARGS = "empno";
public Emp[] selectAll();
public Emp selectById(String empno);
public int insert(Emp emp);
public int update(Emp emp);
public int delete(Emp emp);
}
【JavaBeansクラス】
package example.entity;
import java.util.Date;
import org.seasar.dao.annotation.tiger.Bean;
@Bean(table="emp")
public class Emp {
private String empno;
private String ename;
private String job;
private String mgr;
private Date hiredate;
private Integer sal;
private Integer comm;
private Integer deptno;
・・・ getter & setter ・・・
}
diconファイルの中身は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<include path="dao.dicon"/>
<component class="example.dao.EmpDao">
<aspect>dao.interceptor</aspect>
</component>
</components>
Seasar-user メーリングリストの案内