[Seasar-user:20171] Re: [Kuina-Dao]SQLの実行について
Inamine Morihiko
[E-MAIL ADDRESS DELETED]
2010年 9月 21日 (火) 14:35:16 JST
いつもお世話になっています
稲嶺と言います
サブジェクトを間違えていました
間違い:[Kina-Dao]
正しくは:[Kuina-Dao]
でした
どうもすいません
ルートパッケージ名に"_"が入っていたので
"_"が付かない名前にしてみましたが
結果は前回と同一となり
S2TestCaseでは正常
Web環境(action->service->Dao実行)では異常となりました
−以上です
Inamine Morihiko <[E-MAIL ADDRESS DELETED]>さん:
> いつもお世話になっています
> 稲嶺と言います
> 環境:
> Eclipse:Version: 3.4.2
> S2JUnit4:Version: 0.1.1.200812151526
> Kuina-Dao 1.0.3
> Diigu:1.0.0
> JDK:1.6.0_18
>
> 現象:
> SQLによる検索を試していますが
> S2TestCase(setUp()->テストコード(Dao実行))に記述に実行すると
> 正常に実行できますが
> Web環境(action->service->Dao実行)ではSQL文が探せないようで
> 正常に動作しません
>
> SQL文を外出しして実行するには何か抜けまたは間違いがあるのでしょうか?
>
> ・正常に動作しないWeb環境(サービスに実装)のログ
> --------------------------------------------------------------------
-
> クラス(interface abc_efg.dao.ReceiptInfoDao)のメソッド(public
abstract
> java.util.List abc_efg.dao.ReceiptInfoDao.findByMaxReceiptNo(java.lang.
> String))に適用できるKuina-Daoコマンドはありません
> END abc_efg.dao.ReceiptInfoDao#findByMaxReceiptNo(100907%) Throwable:
> java.lang.NoSuchMethodError: abc_efg.dao.ReceiptInfoDao$$
> EnhancedByS2AOP$$3adbda.findByMaxReceiptNo(java.lang.String)
> END abc_efg.service.GdataService#NextReceiptNo() Throwable:java.lang.
> NoSuchMethodError: abc_efg.dao.ReceiptInfoDao$$EnhancedByS2AOP$$3adbda.
> findByMaxReceiptNo(java.lang.String)
> トランザクションをロールバックしました。tx=[FormatId=4360, GlobalId=
> 1285027888843/8, BranchId=]
> --------------------------------------------------------------------
-
>
> 外出しSQL文:ファイル名(receiptInfoDao_findByMaxReceiptNo.sql)
> Daoインターフェースと同じディレクトリに置いています
> --------------------------------------------------------------
> SELECT MAX(RECEIPT_NO) AS MaxReceiptNo
> FROM RECEIPT_INFO
> WHERE RECEIPT_NO LIKE /*receiptNo*/
> --------------------------------------------------------------
>
> Dto:ファイル名(MaxRecceiptNoDto.java)
> --------------------------------------------------------------
> package abc_efg.dto;
> public class MaxRecceiptNoDto {
> private String MaxReceiptNo;
>
> public String getMaxReceiptNo(){
> return this.MaxReceiptNo;
> }
> public void setMaxReceiptNo(String MaxReceiptNo){
> this.MaxReceiptNo = MaxReceiptNo;
> }
> }
> --------------------------------------------------------------
>
> Dao:ファイル名(ReceiptInfoDao.java)
> --------------------------------------------------------------
> package abc_efg.dao;
>
> import abc_efg.dto.MaxRecceiptNoDto;
> import abc_efg.entity.ReceiptInfo;
>
> import java.util.List;
>
> public interface ReceiptInfoDao {
> public List<ReceiptInfo> findAll();
> public ReceiptInfo find(Integer receiptSeq);
> public void persist(ReceiptInfo info);
> public ReceiptInfo merge(ReceiptInfo info);
> public void remove(ReceiptInfo info);
> public boolean contains(ReceiptInfo info);
> public void refresh(ReceiptInfo info);
> public void readLock(ReceiptInfo info);
> public void writeLock(ReceiptInfo info);
> public List<ReceiptInfo> findByEtc(ReceiptInfo rep);
> public List<MaxRecceiptNoDto> findByMaxReceiptNo(String receiptNo)
;
> }
> --------------------------------------------------------------
>
>
> testReceiptDao.java(正常に動作する)
> --------------------------------------------------------------
> package abc_efg.dao;
> import abc_efg.dto.MaxRecceiptNoDto;
> import abc_efg.entity.ReceiptInfo;
> import java.text.SimpleDateFormat;
> import java.util.List;
> import org.seasar.extension.unit.S2TestCase;
> public class testReceiptDao extends S2TestCase {
> ReceiptInfoDao receDao;
>
> @Override
> protected void setUp() throws Exception {
> super.setUp();
> include("app.dicon");
> }
> public void testFindTx() throws Exception{
> List<MaxRecceiptNoDto> maxRecceiptNoList =
> receDao.findByMaxReceiptNo("100907%");
> for (MaxRecceiptNoDto maxRecceiptNodata : maxRecceiptNoList) {
> System.out.println("最大の受付番号=["
> + maxRecceiptNodata.getMaxReceiptNo() + "]");
> }
>
> }
> }
> --------------------------------------------------------------
>
> AbcService.java(正常に動作しないサービス)
> --------------------------------------------------------------
> package abc_efg.service;
>
> import abc_efg.dao.ReceiptInfoDao;
> import abc_efg.dto.MaxRecceiptNoDto;
> import abc_efg.entity.ReceiptInfo;
>
> import java.io.IOException;
> import java.text.SimpleDateFormat;
> import java.util.List;
>
> import javax.annotation.Resource;
>
> import org.w3c.dom.Element;
> import org.w3c.dom.Node;
>
> public class AbcService {
> @Resource
> ReceiptInfoDao receDao; // 受付情報
>
> public String NextReceiptNo() throws IOException {
> List<MaxRecceiptNoDto> maxRecceiptNoList =
> receDao.findByMaxReceiptNo("100907%");
> for (MaxRecceiptNoDto maxRecceiptNodata : maxRecceiptNoList) {
> System.out.println("maxRecceiptNo=[" + maxRecceiptNodata.
> getMaxReceiptNo() + "]");
> }
> return null;
> }
> }
> --------------------------------------------------------------
>
> −以上です
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--------------------------------------------------------------
Seasar-user メーリングリストの案内