主キーではない項目の外部キーについて

252 views
Skip to first unread message

xeno...@gmail.com

unread,
Nov 3, 2013, 9:24:54 PM11/3/13
to dbf...@googlegroups.com
こんにちは
阿部です

質問があります。

DBにFOREIGN KEYを作成したのですが、DBFluteに認識されないので調べてみると


と同じケースのようです(Oracle11gを使用しています)。

そこで質問ですが、主キーではない項目の外部キーを取り込まないのは現行Verでも同じでしょうか?
※ loadReferrerはおいておくとして、additionalForeignKeyMapを書かずにすむとうれしいのですが...

kubo

unread,
Nov 3, 2013, 9:36:42 PM11/3/13
to DBFluteユーザの集い
jfluteです

こんにちは、阿部さん

ユニーク制約に対するFKですかね。
どうしてもPK制約が付けられない状況でしょうか。

現状でも変わらないは変わらないのですが、
additionalPrimaryKeyMap.dfpropという設定があって、
そこで、そのユニークキーをPKとしてセットすることが
できます。試してないですが、やってみて頂けるとうれしいです。

additionalForeignKeyMap.dfpropに設定した場合、
いまのバージョンであれば、
ユニークキーもLoadReferrerやExistsReferrerが生成されるかもしれません。
ソースコードを見る限り。



2013/11/4 <xeno...@gmail.com>:
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。
> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

kubo

unread,
Nov 3, 2013, 9:54:24 PM11/3/13
to DBFluteユーザの集い
jfluteです

> 現状でも変わらないは変わらないのですが、
すいません、取り急ぎ試してみました。
テストケースも存在していました。
いまだと、認識されていますね。

http://dbflute.seasar.org/ja/environment/changelog/
DBFlute-0.9.7.6にて、
(DBFLUTE-753){Java/C#}: ユニーク制約に対するFKでもLoadReferrer

とありました。すっかり忘れていました(m_m。

ただ、阿部さんの方で認識されないとなると、
なにかの別の原因があるかもなので、
その部分のスキーマ構造を、
適当な名前にして教えて頂けますでしょうか?


2013/11/4 kubo <dbf...@gmail.com>:

xeno...@gmail.com

unread,
Nov 3, 2013, 10:49:43 PM11/3/13
to dbf...@googlegroups.com
阿部です
すばやい回答ありがとうございます。

テーブルはこんな感じです

CREATE TABLE M_FOO
(
    ID                             NUMBER(18,0) NOT NULL,
    FOO_CODE                       VARCHAR2(12) NOT NULL,
    CONSTRAINT PK_M_FOO PRIMARY KEY (ID),
    CONSTRAINT UQ1_M_FOO UNIQUE (FOO_CODE)
)

CREATE TABLE T_BAR
(
    ID                             NUMBER(18,0) NOT NULL,
    BAR_CODE                       VARCHAR2(12) NOT NULL,
    FOO_CODE                       VARCHAR2(12) NOT NULL,
    CONSTRAINT PK_T_BAR PRIMARY KEY (ID),
    CONSTRAINT FK1_T_BAR FOREIGN KEY (FOO_CODE) REFERENCES M_FOO (FOO_CODE)
)

M_FOO: T_BAR = 1:many と想定しています。


> いまだと、認識されていますね。 
おお、対応されているのですね。質問してみてよかった。
ChangeLogをあたってみればよかったですね...

 
2013年11月4日月曜日 11時54分24秒 UTC+9 jflute:
>> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。

kubo

unread,
Nov 4, 2013, 12:05:39 AM11/4/13
to DBFluteユーザの集い
jfluteです

スキーマ構造ありがとうございます。
ちなみに、SchemaHTMLでもForeignTableやReferrerTableで
何の関連も付いてないですか?



2013/11/4 <xeno...@gmail.com>:
>> >> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> にメールを送信します。
>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。

阿部 泰広

unread,
Nov 4, 2013, 12:14:33 AM11/4/13
to dbf...@googlegroups.com
阿部です

> ちなみに、SchemaHTMLでもForeignTableやReferrerTableで
> 何の関連も付いてないですか?
ついていないです。
(主にSchemaHTMLで確認しています。)
試しにPK項目へFKを張ってやるとこちらはきちんと関連づきます。


2013年11月4日 14:05 kubo <dbf...@gmail.com>:
> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+u...@googlegroups.com にメールを送信します。
> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
// 阿部 泰広 <xeno...@gmail.com>
//

kubo

unread,
Nov 4, 2013, 1:50:01 AM11/4/13
to DBFluteユーザの集い
jfluteです

> 試しにPK項目へFKを張ってやるとこちらはきちんと関連づきます。
情報ありがとうございます。

原因が分かりました。
Oracleだと、JDBCドライバから
UQに対するFKの情報が取得できないようです。

というか、JDBCドライバの仕様的には、
PKに対するFKだけを想定しているので、
取得できちゃってるMySQLの方がおかしいとも言えるかも...
(逆に言うと、UQに対するFKはよほどイレギュラーなもの
という扱いになってるようで)

補完的にデータディクショナリを直接参照する必要がありそうです。
阿部さんの現状の問題としては、どんな感じでしょうか?
DBFluteを利用するにあたって、その部分が大きな支障に
なっていますでしょうか?
(もう、PKの方にFKを貼るという修正は絶対にできないとか!?)

いずれにせよ、ReplaceSchemaのdropテーブルもうまく動かないので、
(FKがdropできないため)
DBFluteとしてはどうにかしたいなと思うところですが...





2013/11/4 阿部 泰広 <xeno...@gmail.com>:

xeno...@gmail.com

unread,
Nov 4, 2013, 2:28:35 AM11/4/13
to dbf...@googlegroups.com
阿部です

原因の特定ありがとうございます。

こちらの状況ですが、
もともとのDB設計が複合主キー多めのものだったのですが、
DBFluteを使用するにあたり主キーをユニークなId列に統一しました。
ただし他のメンバーの慣れの問題もあり、テーブル間のリレーションは以前のコードを用いる方向で考えました。
その時点で、これまたメンバーがForeignKey未経験という理由で、すべて additionalForeignKeyMap でまかなうつもりだったのですが、せっかくなので実際のFK記述をしたほうが制約も効くし、drop問題はReplaceSchemaが面倒見てくれるので問題なかろう、と欲を出して現在に至ります。

PKの方にFKを貼るのが絶対にできないわけではないですが、上記理由の他、時間的にもちとつらいです。
DBFluteとしてはどうにかしたいなと思うところですが... 
対応していただけると助かりますが、当初の予定通りFK登録はせずadditionalForeignKeyMapに記述する、でこちらは問題ありません。
(また基本的にサポートされていない機能をつついてしまいました...)

2013年11月4日月曜日 15時50分01秒 UTC+9 jflute:
>>>> >> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>>>> >> にメールを送信します。
>>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>>>
>>> --
>>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>>> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。
>>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>>> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>>
>> --
>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+unsu...@googlegroups.com にメールを送信します。
>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>
>
> --
> //                            阿部 泰広 <xeno...@gmail.com>
> //
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。

kubo

unread,
Nov 4, 2013, 8:21:35 AM11/4/13
to DBFluteユーザの集い
jfluteです

阿部さん、対応してみました。
1.0.5Aをご利用でしょうか?
それであれば、mydbfluteの1.0.5Aのlib配下の
dbflute.jarを以下のリンクのものと取り替えてみてください。
(1.0.5Aでなければアップグレードしてから取り替えてください)

http://dbflute.seasar.org/download/patch/1.0.5A/dbflute.jar


> ただし他のメンバーの慣れの問題もあり、テーブル間のリレーションは以前のコードを用いる方向で考えました。

一方で、ConditionBeanでは「何のカラムでつながってるか」って
あまり意識しませんので、その辺の心配はあまりないと思います。
また、ユニークキーへのFKの副作用がどれだけあるかわからないので、
選択肢があるのであれば、普通にPKの方にFKする方が無難とは思います。



2013/11/4 <xeno...@gmail.com>:
>> >>>> >> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >>>> >> にメールを送信します。
>> >>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >>>> >> にアクセスしてください。
>> >>>
>> >>> --
>> >>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >>> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >>> にメールを送信します。
>> >>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >>> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >>
>> >> --
>> >> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >>
>> >> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe
>> >> にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+u...@googlegroups.com
>> >> にメールを送信します。
>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> >
>> >
>> > --
>> > // 阿部 泰広 <xeno...@gmail.com>
>> > //
>> >
>> > --
>> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。

xeno...@gmail.com

unread,
Nov 4, 2013, 9:51:45 AM11/4/13
to dbf...@googlegroups.com
おおお、ありがとうございます!

さっそくやってみました、が、jdbcタスクが失敗してしまうようです。
ちょっと長いですがスタックトレース部分を貼ります。

  [df-jdbc] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  [df-jdbc] Failed to execute DBFlute Task 'JDBC'.
  [df-jdbc]
  [df-jdbc] [Advice]
  [df-jdbc] Check the exception messages and the stack traces.
  [df-jdbc]
  [df-jdbc] [Database Product]
  [df-jdbc] Oracle Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
  [df-jdbc]
  [df-jdbc] [JDBC Driver]
  [df-jdbc] Oracle JDBC driver 11.2.0.2.0 for JDBC 11.2
  [df-jdbc] * * * * * * * * * */
  [df-jdbc] org.seasar.dbflute.helper.thread.exception.DfThreadFireFailureException: Failed to fire the thread: java.util.concurrent.FutureTask@144c1a4
  [df-jdbc]     at org.seasar.dbflute.helper.thread.DfCountDownRace.handleFuture(DfCountDownRace.java:109)
  [df-jdbc]     at org.seasar.dbflute.helper.thread.DfCountDownRace.doReadyGo(DfCountDownRace.java:97)
  [df-jdbc]     at org.seasar.dbflute.helper.thread.DfCountDownRace.readyGo(DfCountDownRace.java:66)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.countDownRaceProcessTable(DfSchemaXmlSerializer.java:444)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.processTable(DfSchemaXmlSerializer.java:420)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.generateXML(DfSchemaXmlSerializer.java:386)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.serialize(DfSchemaXmlSerializer.java:293)
  [df-jdbc]     at org.apache.torque.task.TorqueJDBCTransformTask.doExecute(TorqueJDBCTransformTask.java:123)
  [df-jdbc]     at org.seasar.dbflute.task.bs.DfAbstractTask$1.callActualExecute(DfAbstractTask.java:109)
  [df-jdbc]     at org.seasar.dbflute.task.bs.assistant.DfTaskBasicController.doExecute(DfTaskBasicController.java:184)
  [df-jdbc]     at org.seasar.dbflute.task.bs.assistant.DfTaskBasicController.execute(DfTaskBasicController.java:77)
  [df-jdbc]     at org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:131)
  [df-jdbc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
  [df-jdbc]     at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  [df-jdbc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [df-jdbc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [df-jdbc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
  [df-jdbc]     at org.apache.tools.ant.Task.perform(Task.java:348)
  [df-jdbc]     at org.apache.tools.ant.Target.execute(Target.java:357)
  [df-jdbc]     at org.apache.tools.ant.Target.performTasks(Target.java:385)
  [df-jdbc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
  [df-jdbc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
  [df-jdbc]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
  [df-jdbc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
  [df-jdbc]     at org.apache.tools.ant.Main.runBuild(Main.java:698)
  [df-jdbc]     at org.apache.tools.ant.Main.startAnt(Main.java:199)
  [df-jdbc]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
  [df-jdbc]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
  [df-jdbc] Caused by: java.lang.NullPointerException
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.supplement.DfUniqueKeyFkExtractorBase.extractUniqueKeyFkMap(DfUniqueKeyFkExtractorBase.java:58)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.prepareUniqueKeyFkCache(DfForeignKeyExtractor.java:336)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.findUniqueKeyFkMetaList(DfForeignKeyExtractor.java:322)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.reflectUniqueKeyFk(DfForeignKeyExtractor.java:297)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.doGetForeignKeyMap(DfForeignKeyExtractor.java:196)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.getForeignKeyMap(DfForeignKeyExtractor.java:88)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.metadata.basic.DfForeignKeyExtractor.getForeignKeyMap(DfForeignKeyExtractor.java:75)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.getForeignKeys(DfSchemaXmlSerializer.java:1254)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.processForeignKey(DfSchemaXmlSerializer.java:627)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.doProcessTable(DfSchemaXmlSerializer.java:519)
  [df-jdbc]     at org.seasar.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer$1.execute(DfSchemaXmlSerializer.java:461)
  [df-jdbc]     at org.seasar.dbflute.helper.thread.DfCountDownRace$1.call(DfCountDownRace.java:133)
  [df-jdbc]     at org.seasar.dbflute.helper.thread.DfCountDownRace$1.call(DfCountDownRace.java:120)
  [df-jdbc]     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  [df-jdbc]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  [df-jdbc]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [df-jdbc]     at java.lang.Thread.run(Thread.java:724)



2013年11月4日月曜日 22時21分35秒 UTC+9 jflute:
>> >>>> >> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> >>>> >> にメールを送信します。
>> >>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >>>> >> にアクセスしてください。
>> >>>
>> >>> --
>> >>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >>> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> >>> にメールを送信します。
>> >>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >>> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >>
>> >> --
>> >> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >>
>> >> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe
>> >> にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+unsu...@googlegroups.com
>> >> にメールを送信します。
>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> >
>> >
>> > --
>> > //                            阿部 泰広 <xeno...@gmail.com>
>> > //
>> >
>> > --
>> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> > このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。

kubo

unread,
Nov 4, 2013, 10:18:38 AM11/4/13
to DBFluteユーザの集い
jfluteです

> さっそくやってみました、が、jdbcタスクが失敗してしまうようです。
ありがとうございます。
シノニム利用の有無でキャッシュタイミングが変わってしまうようで、
こちらの環境ではうまくいってましたが、
マルチスレッド内でキャッシュしたときの考慮が足りてませんでした。

リンクのdbflute.jarを上書きしていますので、
再度お試し頂けるとありがたいです。


2013/11/4 <xeno...@gmail.com>:
>> >> >>>> >> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> >>>> >> にメールを送信します。
>> >> >>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >>>> >> にアクセスしてください。
>> >> >>>
>> >> >>> --
>> >> >>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >>> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> >>> にメールを送信します。
>> >> >>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >>> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >>> にアクセスしてください。
>> >> >>
>> >> >> --
>> >> >> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >>
>> >> >>
>> >> >> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe
>> >> >>
>> >> >> にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+u...@googlegroups.com
>> >> >> にメールを送信します。
>> >> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > // 阿部 泰広 <xeno...@gmail.com>
>> >> > //
>> >> >
>> >> > --
>> >> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> > --
>> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。

xeno...@gmail.com

unread,
Nov 4, 2013, 10:36:10 AM11/4/13
to dbf...@googlegroups.com
阿部です

すばらしい。ばっちりです。
DB構造を読み取ってくれるのはやはり気持ちがいいですね。
ありがとうございました。

> 一方で、ConditionBeanでは「何のカラムでつながってるか」って 
> あまり意識しませんので、その辺の心配はあまりないと思います。 
> また、ユニークキーへのFKの副作用がどれだけあるかわからないので、 
> 選択肢があるのであれば、普通にPKの方にFKする方が無難とは思います。 
そうですね。CBでは意識しませんし、SQLでjoinするときもシンプルでいいのですが、メンテナンス時にデータテーブルに
コードがそのまま入っているというのはやはり魅力なんですよね。


2013年11月5日火曜日 0時18分38秒 UTC+9 jflute:
>> >> >>>> >> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> >> >>>> >> にメールを送信します。
>> >> >>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >>>> >> にアクセスしてください。
>> >> >>>
>> >> >>> --
>> >> >>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >>> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> >> >>> にメールを送信します。
>> >> >>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >>> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >>> にアクセスしてください。
>> >> >>
>> >> >> --
>> >> >> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >>
>> >> >>
>> >> >> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe
>> >> >>
>> >> >> にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+unsu...@googlegroups.com
>> >> >> にメールを送信します。
>> >> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > //                            阿部 泰広 <xeno...@gmail.com>
>> >> > //
>> >> >
>> >> > --
>> >> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> > このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> > --
>> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> > このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+unsubscribe@googlegroups.com にメールを送信します。

kubo

unread,
Nov 4, 2013, 11:06:02 AM11/4/13
to DBFluteユーザの集い
jfluteです

> すばらしい。ばっちりです。
> DB構造を読み取ってくれるのはやはり気持ちがいいですね。

ご確認ありがとうございます!助かります。
jarだけでなく、1.0.5Aまるごとzipでのパッチを
そのうち正式に出しますので。

> メンテナンス時にデータテーブルに
> コードがそのまま入っているというのはやはり魅力なんですよね。

まあ、そこですよね。ささっと select * from ... って
書いたときに色々と出てくれる方がわかりやすいと。
自分は、本番DBにアクセスするSQLはあらかじめ作っておくか、
その場で作ったらそれはそれで残しておくとかして、
joinしたものがいつでもいい感じに見られるようにしておきます。

DB変更で業務キーの構造変更があったときの影響範囲も考えると、
個人的にはやはりお奨めはできないのですが、
なにはともあれ、何かあったらすぐに言ってくださいね。
DBFluteで対応できそうなものであればやりますので。





2013/11/5 <xeno...@gmail.com>:
>> >> >> >>>> >> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> >> >>>> >> にメールを送信します。
>> >> >> >>>> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> >>>> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> >>>> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >> >>>> >> にアクセスしてください。
>> >> >> >>>
>> >> >> >>> --
>> >> >> >>> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >> >>> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> >> >>> にメールを送信します。
>> >> >> >>> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> >>> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> >>> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >> >>> にアクセスしてください。
>> >> >> >>
>> >> >> >> --
>> >> >> >> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> このトピックの登録を解除するには、https://groups.google.com/d/topic/dbflute/ZawZdrkfqQ8/unsubscribe
>> >> >> >>
>> >> >> >>
>> >> >> >> にアクセスします。このグループから退会し、グループのすべてのトピックの登録を解除するには、dbflute+u...@googlegroups.com
>> >> >> >> にメールを送信します。
>> >> >> >> このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> >> http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> >> その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >> >> にアクセスしてください。
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > // 阿部 泰広 <xeno...@gmail.com>
>> >> >> > //
>> >> >> >
>> >> >> > --
>> >> >> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> >> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> >> > にメールを送信します。
>> >> >> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> >> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> >> > その他のオプションについては、https://groups.google.com/groups/opt_out
>> >> >> > にアクセスしてください。
>> >> >
>> >> > --
>> >> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> >> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> > --
>> > このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
>> > このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/dbflute からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
> --
> このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、dbflute+u...@googlegroups.com にメールを送信します。

kubo

unread,
Nov 4, 2013, 11:50:33 AM11/4/13
to DBFluteユーザの集い
jfluteです

記録のためにも補足。
同じスキーマ内へのFKのみサポートです。
別スキーマのテーブルへのUQへのFKはサポートされません。
めったにないと思いますが、めったにないと思うので割り切ってます。



2013/11/5 kubo <dbf...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages