[Seasar-user:7106] DBFlute 0.4.4 リリース

kubo [E-MAIL ADDRESS DELETED]
2007年 4月 7日 (土) 17:49:43 JST


久保(jflute)です。

DBFlute 0.4.4をリリースしました。
http://dbflute.sandbox.seasar.org/ja/

S2Dao-1.0.41 にて動作確認済です。
変更点は下記の通りです。

 [DBFLUTE-76] {Java/C#}: BehaviorのTransactionを設定でOn/Offできるようにする。
 [DBFLUTE-75] {Java}: Daoの初期化時のConnectionをTransactionとは別のConnectionを使う。{Sybase対応}
 [DBFLUTE-74] {Java}: 複数DB対応時にBehaviorのComponent名にprojectSuffixが付いていないためにInjectionができない。
 [DBFLUTE-72] {Java}: ConditionBeanにて同Table間限定のUnionをサポートする。
 [DBFLUTE-71] {Java/C#}: Volocityが吐き出す「report.${torque.project}.sql2entity.generation」を阻止する。
 [DBFLUTE-70] {Java/C#}: 外だしSQLに対してQueryTimeout設定が無効になっているのを修正すること。



[DBFLUTE-76]

※[Seasar-user:7087] [DBFlute]DBFlute.dicon のrequredNewTxについて



[DBFLUTE-75]

Sybase-12.xにおいて、Transaction内でDatabaseMetaData.getColumns()を
呼び出すと以下のような例外が発生することが報告されています。

com.sybase.jdbc2.jdbc.SybSQLException
The 'CREATE TABLE' command is not allowed within a multi-statement
 transaction in the 'tempdb' database.

S2Daoの初回アクセス時のDao初期化にてTransaction内で
DatabaseMetaData.getColumns()が呼び出されるときに発生するようです。
根本的な解決にはいたっていませんが、DBFluteではひとまずの回避を
致しました。

torque.isAvailableOtherConnectionDaoInitialization = true

と設定すると、S2DaoのDao初期化時に、既に開始されているTransactionを
一旦suspend()させて初期化で使うConnectionは別のConnectionを使うように
なります。初期化が終わるとresume()してTransactionが再開します。

他のDBでも利用できますが、今のところSybase限定の処置と考えます。



[DBFLUTE-74]

※[Seasar-user:7059] [DBFlute] 複数DBアクセス時のallcommonについて
http://dbflute.sandbox.seasar.org/ja/migration/migrate-043to044.html


[DBFLUTE-72]

http://dbflute.sandbox.seasar.org/ja/tips-condition_bean.html
の一番下「11」番をご覧下さい。
非常に限定的・定型的でかつ利用頻度が高いためSupportしました。



[DBFLUTE-71]

今まで、「なんだこりゃ、へんなところにへんなファイルが出力される」と
思われた方もいたと思います。
Volocityが吐き出すレポートファイルの出力を止めました。



[DBFLUTE-70]

BUG修正です。
外だしSQLに対してQueryTimeout設定が無効になっていたのを修正しました。



「DBFluteの役割」という概念図を作成しました。
http://dbflute.sandbox.seasar.org/view//role_of_dbflute/index.html
にて左のExploreの「role_of_dbflute-cmu」をClickして下さい。





Seasar-user メーリングリストの案内