[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 メーリングリストの案内