忍者ブログ

技術メモ

Home > ブログ > Seasar

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

◆S2Daoの使用方法

  Daoをdiconファイルに定義して、コンテナにコンポーネント定義します。
  S2Dao.NETの機能を利用するためには登録したDaoに対して、
  S2Dao.NETのインターセプターを適用

  【Dao.dicon】
  <components>
    <include path="S2Dao.dicon"/>
    <component class="Example.Dao.IEmployeeDao">
      <aspect>S2Dao.Interceptor</aspect>
    </component>
  </components>

  【S2Dao.dicon】
  <components namespace="S2Dao">
    <include path="Ado.dicon" />
    <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" />
    <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
    <component class="Seasar.Dao.Impl.FieldAnnotationReaderFactory" />
    <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" />
    <component name="Interceptor"
      class="Seasar.Dao.Interceptors.S2DaoInterceptor"/>
  </components>

 

PR

◆Seasarの補足

  ◇S2Container読込時に「・・・の依存関係が見つかりません」エラー
    [可能性としてあり得る原因]
    App.configのseasarセクションで、読込assemblyの参照設定がされていない
  ◇S2Container読込時に「class not found」エラー
    [可能性としてあり得る原因]
    App.configのseasarセクションが存在しない
  ◇PrimaryKeyNotFoundRuntimeExceptionエラー
   クラス : Seasar.Dao.PrimaryKeyNotFoundRuntimeException
   メッセージ : 「[EDAO0009]エンティティクラス名」

    実テーブル名とエンティティDTOのアノテーション[テーブル属性]が異なると
    発生するエラー
    Primaryキーが全く設定されていない場合に発生するらしい

◆S2Daoの補足
  ◇EntityDaoの継承
    EntityDaoを継承して利用しようとしても、EntityDaoにもっているメソッドは
    オーバライドしないと使用できない
  ◇Beanアノテーションの設定
    SQLファイル及びProcedureのみを持つDaoにはBeanアノテーション指定不要も可能
◆S2Windowの補足
  ◇[ESSR0073]JScriptException occured, because WinFormMenu1
    diconの設定で起動フォーム関連のクラス名・コンポーネント名の整合性が合わないと発生する
  ◇[ESSR0044]Class not found, details are "InspectS2Window.WinFormM11"
    diconの設定でプロジェクト上に存在しないクラスを指定すると発生する

 

PAGE TOP