[Seasar-user:22152] Re: 【DBFlute】自動生成クラスの挙動について

Nari [E-MAIL ADDRESS DELETED]
2017年 12月 12日 (火) 10:24:25 JST


久保(jflute)さん

おはようございます。成田です。
ご返答ありがとうございます。

>1.0.5Fにて、
>「FKの順序を、FK制約名ではなくFKカラム構成とFK名でソートして固定化」
こちらの認識があったので今回ご確認させていただいておりました。

>また、古いDBFuteから新しいDBFluteにアップグレードしたときは、
はい。アップグレードに関しては別件でテストしており
記載の通りの認識ですので問題ありません。

>できれば、具体的に何のメソッドがどう変わったか?
コメントレベル含めですが、以下となります。
(7ファイルあり1ファイルのみ記載します)

なお、内容としては記載位置の変更だけとみえるので
影響はない想定ですが、該当テーブルにて定義変更がないこと、
制約の付与などもなかったため不安視しております。
→そもそも以前に、この差分が発生しました(hoge1,hoge2の入れ替わり)
この時は、新規テーブルへ参照制約付与がありましたが
該当テーブルは全く関係なかったこともあり
当時の判断としてコミットし、今に至っております。
※結果的に差分発生前に戻っている状態です。
------------------------------------------
-が元の状態、+が差分発生後(renewalタスク後)

BsHogeBhv.java

 * [foreign table]
- *     Hoge1, Hoge2
+ *     Hoge2, Hoge1

 * [foreign property]
- *     hoge1, hoge2
+*     hoge2, hoge1

-     * Pull out the list of foreign table 'Hoge1.
+    * Pull out the list of foreign table 'Hoge2.

-    public List<Hoge1> pulloutHoge1(List<Hoge1Job> hoge1JobList)
-    { return helpPulloutInternally(hoge1JobList, "hoge1"); }
+    public List<Hoge2> pulloutHoge2(List<Hoge1Job> hoge1JobList)
+   { return helpPulloutInternally(hoge1JobList, "hoge2"); }

-     * Pull out the list of foreign table 'Hoge2'.
+     * Pull out the list of foreign table 'Hoge1'.

-    public List<Hoge2> pulloutHoge2(List<Hoge1Job> hoge1JobList)
-    { return helpPulloutInternally(hoge1JobList, "hoge2"); }
+    public List<Hoge1> pulloutHoge1(List<Hoge1Job> hoge1JobList)
+    { return helpPulloutInternally(hoge1JobList, "hoge1"); }


以上、ご確認のほどよろしくお願いいたします。
--

2017年12月11日 21:55 kubo <dbflute @ gmail.com>:

> jfluteです
>
> 成田さん、こんばんは
> DBFluteのご利用ありがとうございます。
>
> > ・自動生成クラスは、時折メソッド位置などが
> > 変更されるような挙動が起き得る
> 基本的には起き得ないです。
>
> > ・起きる場合はその理由、起きない場合は
> > 起きた原因の推察
> 起きるとしたら、データベースのメタデータの
> 情報の順序が変わってしまうことが考えられます。
> 例えば、FK制約の情報として FK_A と FK_B があるとして、
> そのFKリストの順序がJDBCドライバレベルで変わって
> しまったら、自動生成するクラスのFKに相当するメソッドの
> 順序も変わってしまう可能性があります。
>
> ただ、DBFluteの新しめのバージョンでは、
> メタデータの順序に依存しないような作りにしたので、
> そのようなケースもあまり起きない想定です。
> (厳密にすべてのメタデータで対処したわけではないですが)
> 1.0.5Fにて、
> 「FKの順序を、FK制約名ではなくFKカラム構成とFK名でソートして固定化」
> というのをやっていますので、
> 1.0.5Lでは、すでに対処されているはずですね。
>
> また、古いDBFuteから新しいDBFluteにアップグレードしたときは、
> その辺の挙動が変わって差分が出る可能性はあるかもしれません。
> その場合は、そもそもアップグレードしたことによる差分も出るので、
> 気にならないかとは思います。
>
> > 全く定義変更のないテーブルのbhvなどのメソッド、および
> > コメントにおけるテーブル記載位置の変更が
> できれば、具体的に何のメソッドがどう変わったか?
> というような情報を教えて頂けると嬉しいです。
>
>
> 書き終わったところで...
> そういえば Oracle だと、PKやFKや制約名を省略したとき、
> SYS123989 ってな感じの連番になりませんでしたっけ?
> この連番が renewal するたびに変わってしまう可能性があるかもですね...
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20171212/39b691e6/attachment-0004.html>


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