[seasar-dotnet:2171] Re: S2Dao.NETでAccessファイルを使う際、JOIN時に括弧が必要なMDB独自仕様への対処について

kubo [E-MAIL ADDRESS DELETED]
2012年 6月 23日 (土) 15:29:02 JST


久保(jflute)です。

齋藤さん、こんにちは
取り急ぎのコメントさせて頂きます。

> 1.Accessで複数テーブルをJOINするには、各JOINを括弧でくくる必要がありますが、
>   S2Dao.NETのSELECT文自動生成機能では括弧がつきませんでした。
>   設定や追加コードで括弧をつけてJOINさせることは可能ですか。
Seasar.Dao.Dbms.MDBでそういった処理がされていなければ、
そういった機能は実装されていないと言えます。
(DB依存処理は基本的にDbms配下に集約されます)

> 2.いまのところはOracleでの処理を参考に、Seasarのソースに手を入れてビルドし使用しています。
>   具体的には、Seasar.Dao.Dbms.MDB クラスの、
>   CreateAutoSelectFromClause メソッドをオーバーライドして、
>   括弧つきのFROM句を生成するようにしています。
>   暫定の対処方法はこれで合っているでしょうか。
拡張の仕方としては、Dbmsのクラスを拡張するでOKです。
とりあえずそれでうまくSQLが生成されているでしょうか?
そうであれば、特に問題ないと思います。
(S2Daoの生成ロジックはシンプルなので)

> 3.現在未対応の場合、MDBの複数JOINに対応される予定はありますでしょうか。
>   ※必要でしたら2のコードを提出いたします。
とりあえず正直に言いますと予定はないです。
リソースの問題上、S2Dao.NETに新たに手を入れるというのは、
よほどのことでない限りやらないという方針で、
「S2Dao.NETは安定優先の現状維持で、機能を加えるならDBFlute.NET」
という感じです。(DBFlute.NETでは今回の件、既に対応済みのはず)

2のコードを提供して頂けると助かります。ありがとうございます。
ただ、大変申し訳ございませんが、本体に組み込むにしても、
環境整えてテストしてリリース作業とそれなりの作業が必要になるため、
いつ取り込めるかは未定となります。
それでも、同じ問題に遭遇した人がそれをみて同じように回避できれば
意義のあることですので、ML上にて公開して頂けるととてもうれしいです。

色々と不都合あってご迷惑おかけします。

2012/6/23 齋藤 大輔 <dsaitoh @ grn.janis.or.jp>:
> 初めまして、齋藤と申します。よろしくお願い致します。
>
> Seasar.NETを便利に使わせていただいてます。
> テスト環境(および一部運用環境)でMDBファイルを使いたいという要件があり、
> いくつか教えていただきたく思います。
>
> 1.Accessで複数テーブルをJOINするには、各JOINを括弧でくくる必要がありますが、
>   S2Dao.NETのSELECT文自動生成機能では括弧がつきませんでした。
>   設定や追加コードで括弧をつけてJOINさせることは可能ですか。
>
> 2.いまのところはOracleでの処理を参考に、Seasarのソースに手を入れてビルドし使用しています。
>   具体的には、Seasar.Dao.Dbms.MDB クラスの、
>   CreateAutoSelectFromClause メソッドをオーバーライドして、
>   括弧つきのFROM句を生成するようにしています。
>   暫定の対処方法はこれで合っているでしょうか。
>
> 3.現在未対応の場合、MDBの複数JOINに対応される予定はありますでしょうか。
>   ※必要でしたら2のコードを提出いたします。
>
> 以上、よろしくお願い致します。
>
> --
> 齋藤大輔
> dsaitoh @ grn.janis.or.jp
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


seasar-dotnet メーリングリストの案内