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