ChangeLog

2010/3/3

S2Dao 1.0.51

1.0.50からの変更点は次のとおりです。

  • Bug
    • [DAO-151] - MySQL用のページング機能(MySQLLimitOffsetPagingSqlRewriter)がバインド変数をもつSQLを考慮していない問題に対応しました。
    • [DAO-154] - org.seasar.dao.impl.ObjectResultSetHandlerにおいて、実際に使用しているクラスと違うクラスがテスト対象となっている問題を修正しました。
  • Improvement
    • [DAO-153] - 帰り値が1件なメソッドで、SQLの実行結果が2件以上の場合に警告ログを出している部分の処理をカスタマイズ可能にしました。

https://www.seasar.org/issues/secure/ReleaseNote.jspa?projectId=10023&version=10907

2009/3/21

S2Dao 1.0.50

1.0.49からの変更点は次のとおりです。

  • Bug
    • [DAO-150] - 更新メソッドの初期化時、プロパティが認識されてない場合とテーブルがPrimary Key のみの場合で例外メッセージを区別するようにしました。
  • Improvement
    • [DAO-148] - ページング処理のorder by句を取り除く正規表現で、order by句の2個目以降のカンマの前に空白や改行を認めました。
    • [DAO-149] - Oracleのページング用SQLのselect句で、行番号を最後に返すようにしました。
  • New Feature
    • [DAO-145] - MySQL専用のSQL_CALC_FOUND_ROWSを使用する、MySQLLimitOffsetPagingSqlRewriter を追加しました。

https://www.seasar.org/issues/secure/ReleaseNote.jspa?projectId=10023&version=10830

2008/10/29

S2Dao 1.0.49

1.0.48からの変更点は次のとおりです。

  • Bug
    • [DAO-140] - OracleRownumPagingSqlRewriter使用時にBooleanToIntStatementFactoryが利用できない問題に対処しました。
    • [DAO-141] - N:1マッピングで1側のデータが存在しなくても1側のインスタンスが生成されてしまう問題に対処しました[Seasar-user:14866]。
    • [DAO-142] - Oracleのページング処理でORDER BY句がサブクエリにあるとハングアップする問題に対処しました。[Seasar-user:15211]
    • [DAO-143] - Java の実装によっては @ProcedureCall で @ProcedureParameter の定義順に引数セットされない問題に対処しました。
    • [DAO-144] - SelectableDataSourceを使用している場合に、シーケンスを使ったIDの採番のキャッシュが複数DataSourceで共有されてしまう問題に対処しました。
    • [DAO-147] - BeanクラスにアノテーションId、ValueTypeを設定するとID自動設定でIllegalPropertyRuntimeExceptionが発生する不具合に対処しました。
  • New Feature
    • [DAO-146] - byte配列やSerializable型をPostgresSQLのOID型やBYTEA型にマッピングできるようにしました。

2008/04/24

S2Dao 1.0.48

  • Improvement
    • [DAO-138] - 埋め込み変数コメントの使用する値に?を認めるようにしました。

2008/04/08

S2Dao 1.0.48-RC1

  • Bug
    • [DAO-129] - Daoメソッドの引数がnullの場合に、PreparedStatementにバインドするSQL型が不適切になる不具合を修正しました。[Seasar-user:12703]
    • [DAO-130] - RelationRowCreatorを他のフレームワークが拡張した場合の不具合を修正しました。
    • [DAO-132] - NotSingleRowUpdatedRuntimeException発生時にバージョン番号がインクリメントされる不具合を修正しました。[Seasar-user:13130]
    • [DAO-135] - Daoが実装クラスのときに、DaoインタフェースについたS2Daoアノテーションを取得できない不具合を修正しました。[Seasar-User:13943]
  • Improvement
    • [DAO-136] - EntityManagerの利用時に、クエリの結果をDTOやMapで取得できるようにしました。[Seasar-user:13530]
  • New Feature
    • [DAO-133] - 検索処理実行時に1レコードずつ取得する、フェッチ機能を追加しました。
  • Task
    • [DAO-134] - Argumentsアノテーションを省略できる条件を整理してドキュメントに明記しました。

2007/12/15

S2Dao 1.0.47

  • Improvement
    • [DAO-122] - Daoの検索系メソッドの戻り値としてプリミティブ型の配列やプリミティブ型のラッパー型を要素とするListを定義できるようにしました。
    • [DAO-123] - Daoメソッドをオーバーロードしたときの例外をわかりやすくしました。
    • [DAO-125] - SqlFileアノテーションに任意のSQLファイルを指定できるようにしました。
  • New Feature
    • [DAO-126] - CheckSingleRowUpdateアノテーションを追加して、NotSingleRowUpdatedRuntimeExceptionをスローするかどうか制御できるようにしました。
    • [DAO-127] - SequenceIdentifierGeneratorにallocationSizeを指定できるようにしました。

2007/10/23

S2Dao 1.0.47-RC1

  • Bug
    • [DAO-34] - [Seasar-user:4051]SQLServerでストアドプロシージャを利用したときにDBのDatetime型がJavaのDate型にマッピングできない問題を解消しました。
  • Improvement
    • [DAO-106] - [seasar-s2dao-dev:316]ストアドへの型変換にメタデータではなくValueTypeを使用するプロシージャ実行をサポートしました。
    • [DAO-107] - [Seasar-user:9231] バッチ実行時にStatement#executeBatch()が返すint[]をそのまま返すようにする
    • [DAO-108] - プロシージャ実行結果をログに採るようにしました。
    • [DAO-116] - IDアノテーションを一つのBeanに複数指定した場合に複合主キーとして認識するようにしました。
    • [DAO-118] - 検索結果をMappingする時にMappingに無関係のPropertyを除外し、パフォーマンスを改善しました。
    • [DAO-119] - PROCEDUREアノテーション使用時、DBのメタデータのINパラメータとメソッドのパラメータの数が異なる場合はわかりやすい例外をスローするようにしました。
    • [DAO-121] - ModifiedOnly機能をNullBeanEnhancerが設定されているときでも利用できるようにする([seasar-s2dao-dev:496])
  • New Feature
    • [DAO-23] - 自動生成のSQLのテーブル名やカラム名を変換可能にしました。
    • [DAO-103] - S2DaoTestCaseのJUnit4用のクラスを作成しました
    • [DAO-110] - 設定でメタデータを使わずにプロパティからカラムの名前を決定できるようにしました。
    • [DAO-117] - Seasar2.4系との組み合わせで、Beanのプロパティにpublicフィールドを使用可能にしました。

2007/08/17

S2Dao 1.0.46

  • 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

S2Dao 1.0.45

  • 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

S2Dao 1.0.44

2007/05/25

S2Dao 1.0.43

2007/04/11

S2Dao 1.0.42

2007/04/05

S2Dao 1.0.41

S2Daoの配布プロジェクトをSeasar2.3ベースにし、Seasar2.4との組み合わせをテストするプロジェクトを設けました。これにより、Seasar2のプロジェクトがなくてもS2Daoのプロジェクトをインポート可能になりました。

2007/03/13

S2Dao 1.0.41-RC1

[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

S2Dao 1.0.40

JIRA上の項目はこちらを。

そのほか

  • dao.diconが変更になっています。→ S2Dao/dao.dicon
  • daoSuffixなどのネーミング設定をDaoNamingConventionへ一本化しました。dao.diconをカスタマイズしている場合は変更をお願いします。
  • 本リリースから、s2daoとs2dao tigerは同一のzipファイルで配布します。

2006/11/14

S2Dao 1.0.39

  • 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

S2Dao 1.0.38

  • 1.0.37におけるリリース漏れを取り込みました。
  • UnlessNullによる更新の際、VersionNo及び、Timestampが、適切に更新されるようにしました。
  • DTOを使ってSELECT文を自動生成した時、対応するカラムに_が含まれているが、DTOのプロパティ名には_が含まれていなくてもWHERE句を生成出来る様にしました。
  • H2に対応しました。

2006/11/01

S2Dao 1.0.37

  • 更新(UPDATE)処理を行う時、メソッド名の末尾にUnlessNullが付いている時、引数に渡されたDTOのフィールドの内、nullでは無い値のみを更新対象とする様にしました。
  • 検索(SELECT)処理を行う時、引数に設定されたDTOの型とBEANアノテーションに定義された型に互換性がある場合、BEANアノテーションに定義された型を使用して検索条件を自動的に組み立てる様にしました。

2006/10/19

S2Dao 1.0.36

  • 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

S2Dao 1.0.35

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

S2Dao 1.0.34

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

S2Dao 1.0.33

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

S2Dao 1.0.32

1.0.31からの変更点は次の通りです。

  • DaoのSuffixとinsert,update,delete自動生成のprefixの指定ができるようになりました。 ([Seasar-user:3226])
  • Sqlファイルの文字コード誤認識回避の実装([Seasar-user:3337])

2006/02/28

S2Dao 1.0.31

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

S2Dao 1.0.30

1.0.30からの変更点は次の通りです。

  • org.seasar.dao.impl.DaoMetaDataImpl daoのインターフェースを継承したインターフェースでも動作するようにしました。

2005/12/05

S2Dao 1.0.29

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

S2Dao 1.0.28

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

S2Dao 1.0.27

1.0.26からの変更点は次の通りです。

  • カラム名に_がついているプライマリキーがプライマリキーとして認識されないのを修正しました。
  • DaoMetaDataImp,BeanMetaDataImpl,DtoMetaDataImplのprivateメソッドをprotectedに変えました。
  • RelationPropertyTypeImplのprivateフィールドをprotectedに変えました。

2005/04/06

S2Dao 1.0.26

1.0.25からの変更点は次の通りです。

  • TABLEアノテーションで指定したテーブル以外でも_付きのカラム名で自動マッピングするようにしました。

2005/03/31

S2Dao 1.0.25

1.0.24からの変更点は次の通りです。

  • カラム名に_がある場合でも自動的にマッピングできるようにしました。

2005/03/28

S2Dao 1.0.24

1.0.23からの変更点は次の通りです。

  • SQL文中に引数や引数のプロパティを文字列として直接埋め込む機能を追加しました。/*$引数名*/のように引数名の前に$をつけます。

2005/03/04

S2Dao 1.0.23

1.0.22からの変更点は次の通りです。

  • SQL文の;の処理に不具合があったのを修正しました。

2005/03/03

S2Dao 1.0.22

1.0.21からの変更点は次の通りです。

  • 戻り値がNumber型の場合に適切に型変換するようにしました。
getCount()問題の対応。「[Seasar-user:1517] S2.2.0 + S2Dao1.0.21 + Oracle」を参照のこと。

2005/02/24

S2Dao 1.0.21

1.0.20からの変更点は次の通りです。

  • StatementFactoryに対応しました。それに伴い、j2ee.diconも変更されています。

2005/02/18

S2Dao 1.0.20

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-03-03 (水) 22:14:28 (3028d)