ChangeLog
こちらでも確認できます。
2007/08/17†
- Bug
- [DAO-31] - Oracle JDBC使用時、QUERYアノテーションのBEGINコメントでSQLRuntimeExceptionが発生しないようにしました。
- [DAO-111] - S2JDBCのMapResultSetHandlerではなく、S2DaoのMapResultSetHandlerを使用するようにしました。
- [DAO-113] - S2PagerでSQLExceptionが発生しないようにしました
- [DAO-114] - UNIX系OSでテストが通るようにしました
- Improvement
- [DAO-18] - SQLが間違っている可能性がある場合に警告をログ出力するようにしました。
- [DAO-37] - PROCEDUREアノテーションやSQLファイルを利用するメソッドのみを持つDaoに限りBEANアノテーションの指定を不要にしました。
2007/07/31†
- Bug
- [DAO-33] - Dao の初期化と Connection の取得との間でデッドロックが発生する問題を解消しました。
- [DAO-104] - プロシージャー取得時に、DatabaseMetaDataUtil#convertIdentifierを経由したプロシジャー名でプロシジャーを取得できない場合は、convertIdentifierを通さないで再度取得するようにしました。([Seasar-User:9068])
- Improvement
- [DAO-66] - DaoMetaDataFactoryImplのuseDaoClassForLogプロパティがtrueの場合は、Daoのクラスを引数にとってログ出力するようにしました。([Seasar-user:6003])
- [DAO-102] - SQL実行時のログをS2JDBCのBasicHandler#logSql経由で出力するように変更しました。([seasar-s2dao-305]])
- [DAO-105] - OracleのROWNUM疑似列を使ったPager実装を追加しました。
- [DAO-109] - トランザクション外でDaoのメタデータを作成した際に物理的なコネクションを無駄に取得しないようにしました。
2007/06/27†
2007/05/25†
2007/04/11†
2007/04/05†
S2Daoの配布プロジェクトをSeasar2.3ベースにし、Seasar2.4との組み合わせをテストするプロジェクトを設けました。これにより、Seasar2のプロジェクトがなくてもS2Daoのプロジェクトをインポート可能になりました。
2007/03/13†
[DAO-71][DAO-74]の対応のため、1.0.40で追加された「更新したプロパティのみを
UPDATE文に含める機能」は、Daoから取得したBeanに関してはデフォルトOFFになりま
した。dao.diconにorg.seasar.dao.impl.BeanEnhancerImplを追加すると有効になり
ますが、その場合はBeanにSerializableとfinalなクラス指定は使用しないでください。
[DAO-65]ですが、[Seasar-user:6252]の案をとりこんだため、SNAPSHOTの段階とは
実装が異なっております。Oracleでストアドをお使いの方はご注意ください。
- プロシージャ名
- スキーマ名.プロシージャ名
- パッケージ名.プロシージャ名
- スキーマ名.パッケージ名.プロシージャ名
の4通りの記述が可能です。複数のプロシジャーが引っかかるときはカレントスキーマ
のプロシジャーを優先するようになっています。
[DAO-70]Tigerアノテーション使用時定数アノテーションは無視されていましたが、
今バージョンから併用可能になります。なお、同じ項目に定数アノテーションとTiger
アノテーションを書いた場合はTigerアノテーションが優先です。
[DAO-76]exampleならびにテスト実行時のデータソース設定は、Seasar2.3使用時は
j2ee_s23.dicon、Seasar2.4使用時はjdbc.diconに記述するようになりました。配布物
のresourcesフォルダにはj2ee.diconとjdbc.diconの両方がありますが、Seasar2.3の場
合はj2ee.dicon、Seasar2.4の場合はjdbc.diconを使用してください。
検証しきれてない機能があるためRCでのリリースとなりますが、
ご了承ください。よろしくお願いします・
2007/01/22†
JIRA上の項目はこちらを。
そのほか
- dao.diconが変更になっています。→ S2Dao/dao.dicon
- daoSuffixなどのネーミング設定をDaoNamingConventionへ一本化しました。dao.diconをカスタマイズしている場合は変更をお願いします。
- 本リリースから、s2daoとs2dao tigerは同一のzipファイルで配布します。
2006/11/14†
- SQLiteにてSelectしたEntityインスタンスにプロパティがセットされない問題に対応しました。[Seasar-user:5015][DAO-41]
- S2Pager使用時にFOR UPDATEを含むSQL文で例外が発生する問題に対応しました。[Seasar-user:4647][DAO-42]
- S2Pagerの設定についてのドキュメントが古いままだったのを更新しました。[DAO-40]
- SQL文中のヒント句が消されてしまう問題に対応しました。[DAO-43]
2006/11/10†
- 1.0.37におけるリリース漏れを取り込みました。
- UnlessNullによる更新の際、VersionNo及び、Timestampが、適切に更新されるようにしました。
- DTOを使ってSELECT文を自動生成した時、対応するカラムに_が含まれているが、DTOのプロパティ名には_が含まれていなくてもWHERE句を生成出来る様にしました。
- H2に対応しました。
2006/11/01†
- 更新(UPDATE)処理を行う時、メソッド名の末尾にUnlessNullが付いている時、引数に渡されたDTOのフィールドの内、nullでは無い値のみを更新対象とする様にしました。
- 検索(SELECT)処理を行う時、引数に設定されたDTOの型とBEANアノテーションに定義された型に互換性がある場合、BEANアノテーションに定義された型を使用して検索条件を自動的に組み立てる様にしました。
2006/10/19†
- PKのみのテーブルへINSERTできなくなっていた問題に対応しました。[Seasar-user:3915][DAO-16]
- DaoのReturnTypeがインタフェースの配列で、BEAN定数がそのインタフェースをImplするクラスである場合に、正しく動作していなかった問題に対応しました。[DAO-19]
- 自動生成SELECT文にSELECT項目が1つも無い場合は例外を投げるようにしました。[DAO-20]
- HotDeployに対応しました。(DaoMetaDataFactoryが保持するキャッシュをクリアするようにしました)[DAO-17]
- dao.diconをs2-dao-x.x.x.jarへ含めるようにしました。[DAO-21]
- SELECT句のASへBeanのプロパティ名を指定した場合にもBeanへセットできるようにしました。[Seasar-user:4071][DAO-26]
- s2dao-tiger・s2dao-backport175のjarがclasspathにある場合には、自動的にTiger・Backport175側のAnnotationReaderを使用するようにしました。[DAO-22]
- 使われていなかったorg.seasar.dao.annotation.tiger.AnnotationReaderFactoryクラスを削除しました。(s2dao-tiger)[DAO-27]
- INSERT文生成時にEntityにPKしかセットされていない場合は例外を出していました(1.0.33から)が、INSERT可能な項目が1つでもあれば例外を投げないことにしました。(例えば、以前はVersionNoだけのINSERTは例外にしていました)[Seasar-user:4164][DAO-29]
- デフォルト設定でS2Pagerを有効にしました。[DAO-28]
- charとCharacter型をEntityで扱えるようにしました。(実際にコードを変更したのはS2Container側。2.3.11以降)[DAO-30]
- Daoの引数がnullの場合にANDやWHEREでSQL文が終わる問題を修正しました。[DAO-32]
※[DAO-22][DAO-28]の対応で、dao.diconを変更しています。
2006/06/13†
1.0.34からの変更点は次の通りです。
([DAO-XX]はJIRAのIDです)
- AbstractDaoを継承したクラスでは、Daoインタフェースへ付けたbeanアノテーションを取得できていなかった問題に対応しました。(s2dao-tiger)[Seasar-user:3651] なおs2dao-backport175では https://www.seasar.org/issues/browse/MAVENBACKPORT-2 の問題があり、この現象に対応できていません。
- パラメータなしのストアドプロシージャでエラーが発生する問題に対応しました。[Seasar-user:3686]
- SQL文へ使用するカラム名は、DatabaseMetaDataよりもCOLUMNアノテーションを優先するようにしました。[Seasar-user:3693]
- IDアノテーションのSEQUENCEで作成されたIDが、INSERT文に含まれなくなってしまった問題に対応しました。[Seasar-user:3711]
- S2Dao TigerのExampleに置かれていたdao.diconにValueTypeFactoryが抜けていたのを修正しました。
- "スキーマ名.プロシージャ名"形式でPROCEDUREアノテーションを記述した際に、スキーマ名がカタログ名として扱われていたのを修正しました。[DAO-5]
- SelectDynamicCommandからのSELECT時にsetchSizeを変更しないようにしました。fetchSizeを変更するにはS2Container 2.3.11(未リリース)からの機能を使用してください。[DAO-2]
- ResultSetを返すStored Procedureを扱えるようにしました。[DAO-6]
- SELECT文に関連エンティティの記述がない場合は、関連エンティティはnullになるようにしました。[Seasar-user:3605][DAO-7]
- バッチ更新ではINSERT文からnull値のカラムを除外する機能(s2dao-1.0.33で追加)をサポートしないことにしました。[Seasar-user:3815][DAO-9]
- IDアノテーションがあると"_"を含むカラム名を自動解決できない問題に対応しました。[Seasar-user:3806][DAO-8]
以下はS2Dao拡張を作られている方むけの情報です。
- ソースコードのエンコーディングを、MS932からUTF-8へ変更しました。
- インスタンス変数名を、"_"サフィックス無しで統一しました。
2006/05/10†
1.0.33からの変更点は次の通りです。
- QUERYアノテーションにBEGINコメントを書けるようにしました。[Seasar-user:3558]
- VALUE_TYPEアノテーションへはコンポーネント名を記述するよう変更しました。[Seasar-user:3556]
- dao.diconへValueTypeFactoryImplとStringClobTypeを追加しました。
- BeanMetaDataImpl, DaoMetaDataImpl, DtoMetaDataImplへデフォルトコンストラクタを追加し、既存のコンストラクタをdeprecatedにしました。
- ID="identity"の場合にバッチ更新でのinsertがエラーになる問題に対応しました。
- s2dao-examplesのEmployeeDaoClientが例外となる問題に対応しました。[Seasar-user:3465]
dao.diconが変更になっていますのでバージョンアップの際にはお気を付けください。
2006/04/25†
1.0.32からの変更点は次の通りです。
- CLOB型をサポートしました。このためにValueTypeアノテーションを導入しました。
- 自動生成されるINSERT文から、beanのプロパティがnullのカラムを除外するようにしました。これにより、Tableへ定義してあるDEFAULT値を活かすことができます。
- 更新行数が0件の場合に例外を投げるAssertAtLeastOneRowInterceptorと、更新行数が1件以外の場合に例外を投げるAssertExactlyOneRowInterceptorを追加しました。[Seasar-user:3508]
- UpdateDynamicCommandとUpdateAutoDynamicCommandが同一だったため、UpdateAutoDynamicCommandを削除しました。
本バージョンの動作には、Seasar2.3.8が必要です。
(CLOB型サポートを利用しなければ2.3.7でも動作すると思います。)
2006/04/04†
1.0.31からの変更点は次の通りです。
- DaoのSuffixとinsert,update,delete自動生成のprefixの指定ができるようになりました。 ([Seasar-user:3226])
- Sqlファイルの文字コード誤認識回避の実装([Seasar-user:3337])
2006/02/28†
1.0.30からの変更点は次の通りです。
- PROCEDUREアノテーションを追加し、ストアドプロシージャへ対応しました。
- S2DaoへS2Pagerを組み込みました。加えてS2PagerのExamplesを新たに配布します。
- Seasar 2.3.7へ対応しました。(2.3.6以前では動作しません)
- Idアノテーションが効かない問題に対応しました。(S2Dao Tiger)[Seasar-user:3116]
- Beanアノテーションを指定しない場合にクラス名からテーブル名が定義されない問題に対応しました。(S2Dao Tiger)[Seasar-user:3116]
2006/01/23†
1.0.30からの変更点は次の通りです。
- org.seasar.dao.impl.DaoMetaDataImpl daoのインターフェースを継承したインターフェースでも動作するようにしました。
2005/12/05†
1.0.28からの変更点は次の通りです。
- SQLコメントでのバインドにて、関連先オブジェクトのプロパティをバインドできるようにしました。[Seasar-user:2411]
- DaoMetaDataFactoryImplのprivateフィールドをprotectedに変更しました。
- EntityManager#findへ渡すSELECT文がスペースや改行始まりである場合にSQLが組み立てられなかった問題を修正しました。[Seasar-user:2482]
- S2DaoTestCaseへデフォルトコンストラクタを追加しました。
- Apache Derbyデータベースに対応しました。
- Maven2に対応しました。
- Seasar2.3.4でのパッケージ変更に対応しました。(Seasar2.3.3では動作しませんのでお気を付けください)
- Seasar2本体と同様に([Seasar-user:2983])、exampleを動かす際にHSQLDBを起動不要にしました。そのためj2ee.diconを変更しています。
2005/07/27†
1.0.27からの変更点は次の通りです。
- アノテーションの読み込みをAnnotationReaderに分離しました。
- SQLアノテーションを新たに作りました。
- QUERYアノテーションにSQLコメントの後にORDER BYを記述したときにうまくSQLが組み立てられなかったのを修正しました。
- DaoインターフェースにBean以外の引数でdeleteやupdateメソッドを作成したときに、DAO を implements した抽象クラスを用意して、該当するメソッドを実装してもExceptionが飛んでいたのを修正しました。
- インタセプタを抽象クラスに適用した場合、インタフェースからだけでなく適用先のクラスからもアノテーションを取得できるように変更しました。
本バージョンは同梱ファイル漏れ、フォルダ名のミス等により、以下の日時に再リリースしています。
-2005/07/29
-2005/09/20
2005/07/09†
1.0.26からの変更点は次の通りです。
- カラム名に_がついているプライマリキーがプライマリキーとして認識されないのを修正しました。
- DaoMetaDataImp,BeanMetaDataImpl,DtoMetaDataImplのprivateメソッドをprotectedに変えました。
- RelationPropertyTypeImplのprivateフィールドをprotectedに変えました。
2005/04/06†
1.0.25からの変更点は次の通りです。
- TABLEアノテーションで指定したテーブル以外でも_付きのカラム名で自動マッピングするようにしました。
2005/03/31†
1.0.24からの変更点は次の通りです。
- カラム名に_がある場合でも自動的にマッピングできるようにしました。
2005/03/28†
1.0.23からの変更点は次の通りです。
- SQL文中に引数や引数のプロパティを文字列として直接埋め込む機能を追加しました。/*$引数名*/のように引数名の前に$をつけます。
2005/03/04†
1.0.22からの変更点は次の通りです。
- SQL文の;の処理に不具合があったのを修正しました。
2005/03/03†
1.0.21からの変更点は次の通りです。
- 戻り値がNumber型の場合に適切に型変換するようにしました。
getCount()問題の対応。「[Seasar-user:1517] S2.2.0 + S2Dao1.0.21 + Oracle」を参照のこと。
2005/02/24†
1.0.20からの変更点は次の通りです。
- StatementFactoryに対応しました。それに伴い、j2ee.diconも変更されています。
2005/02/18†
1.0.19からの変更点は次の通りです。(和訳)
- PostgreSQL8に対応しました。正式なnullの演算にも対応しています。
- 継承を伴うDAOの引数の型チェックの欠陥を修正しました。
原文は以下の通りです。
-fiexed to be able to correspond to also PostgrefSQL8, it tried to process null with accurate type.
-fixed Defectiveness of type check of the argument with the succession of Dao