[Seasar-user:18248] Re: DBFlute でシーケンス値取得

mokkouyou [E-MAIL ADDRESS DELETED]
2009年 8月 11日 (火) 11:56:40 JST


mokkouyouです。

jfluteさんが1週間程度お休みとのこと(http://d.hatena.ne.jp/jflute/20090806)ですので、
的外れかもしれませんが、「私なら」ということで。

内部を軽く覗いて見ましたが、
sequenceDefinitionMap.dfpropではどうにもなりそうにありませんね。

別に、SQL本体を外だしSQLにしないでも、
・exbhvなどに、シーケンスの値を取得するメソッドを用意する。
・Entityの組み立て時に、明示的にシーケンスを取得して設定する。
としてもいいのではないでしょうか。

シーケンスの取得に関して、
そこの部分はどうしますかねぇ。。。というところですが、

SQL文を実行する方法ってありましたっけ?(生で実行以外に)

ない場合、
オーソドックスに行くのであれば、
・シーケンス取得SQLを外だしSQL

はたまた、
・PKで自動生成されるBsBhvの箇所を参考にして
dbflute-runtime/src/main/java/org/seasar/dbflute/bhv/AbstractBehaviorWritable.java辺りのメソッドと
SelectNextValCommandを利用して頑張ってみる。
とかでしょうか。

SelectNextValCommandはDbMetaを利用しているので、
DbMetaの該当部分をオーバーライドしたサブクラスなどをを
渡してあげればいけそうな気もしますね。バージョンアップに弱くなりそうですが。

以上宜しくお願いいたします。

2009/08/11 9:48 HATTI <[E-MAIL ADDRESS DELETED]>:

> はじめまして hatti と申します。
> メーリングリストに投稿するのは初めてなもので、
> もし質問方法が間違っていたらご指摘ください。
>
> 現在 DBFlute + Oracle で、学習を進めているのですが、
> シーケンス(Sequence)についてわからない点がございます。
>
> sequenceDefinitionMap.dfprop ファイルに、テーブルにひもづく
> Sequenceを1つ設定できるのはわかったのですが(主キー用など)、
> 1テーブルに対して複数のSequenceを設定できないのでしょうか。
>
> 主キーだけでなく、その他のカラムにもシーケンス値を
> 利用したい場合はどのように記述するのでしょうか。
> 外だしSQLにしないと対応できないのでしょうか。
>
> 以上、よろしくお願いいたします。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
mokkouyou
[E-MAIL ADDRESS DELETED]
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20090811/2d891a60/attachment.html>


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