[Seasar-user:10249] [S2Dao] テーブルにプライマリーキーがない場合のエラーについて
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 8月 31日 (金) 18:07:41 JST
masanです。
S2Dao 1.0.43を使用してデータベース(Oracle 8.1.6)にアクセス(select)を
していますが、対象のテーブルにプライマリーキーがないので
「・・・にプライマリーキーが見つかりません」というエラーが発生します。
以前に対処方法があったので、sqlファイルを利用してみましたが
回避できません。
外部sqlファイルは、下記です。
select name from kaishi_tbl
また、外部sqlファイルを使用するため、Daoには以下のようになっています。
package avpdd2.dao;
import org.seasar.dao.annotation.tiger.S2Dao;
import avpdd2.entity.KaishiTbl;
@S2Dao(bean=KaishiTbl.class)
public interface KaishiTblDao {
public KaishiTbl[] selectAll();
public int insert(KaishiTbl tbl);
public int update(KaishiTbl tbl);
public int delete(KaishiTbl tbl);
// 外部SQLファイル
public KaishiTbl[] selectKaishiTbl();
}
さらにそれを呼び出すサービスクラスは以下です。
package avpdd2.web.avpdd2.impl;
import org.seasar.flex2.rpc.remoting.service.annotation.RemotingService;
import avpdd2.dao.KaishiTblDao;
import avpdd2.entity.KaishiTbl;
import avpdd2.web.avpdd2.R2Service;
@RemotingService
public class R2ServiceImpl implements R2Service {
private KaishiTblDao dao2;
public KaishiTblDao getDao2() {
return dao2;
}
public void setDao2(KaishiTblDao dao2) {
this.dao2 = dao2;
}
public KaishiTbl[] readKaishi() {
// return dao2.selectAll();
KaishiTbl[] result = dao2.selectKaishiTbl();
return result;
}
}
以上、よろしくお願いいたします。
Seasar-user メーリングリストの案内