DBFlute

特定の場所だけトランザクション制御を外すには

実行するActionクラスのメソッドに以下のアノテーションを書く。 (ちなみにS2Chronsの場合は、TaskクラスのdoExecuteメソッド) @TransactionAttribute(TransactionAttributeType.NEVER) これでトランザクション制御から外れるので、 一昔前のように書いてあ…

外出しSQLのParameterBeanを作成するには

準備 外出しSQLにパラメータを渡す場合には、専用のParameterBeanを使用する。 また、このParameterBeanはDBFluteで半自動生成される。自動生成する為の定義は外出しSQLファイルの中にコメント形式で書く。 ヘッダーにまとめておくのがヨサゲ。 !クラス名 !!…

Like検索するには

cb.query().setHoge_LikeSearch("あいうえお", new LikeSearchOption().likeContain());2つ目のパラメータで%の位置を指定する。前方一致:likePrefix(); 部分一致:likeContain(); 後方一致:likeSuffix();パラメータだとちょっと間違いが起きやすいからメ…

DBFluteプロジェクトをゼロから作るには

★今回はDBアクセスのみを行うjarを作るのが目的★試した環境 Eclipse3.4.1 Dolteng Eclipse プラグイン0.38.0 EMecha Feature 0.4.6 パッケージエクスプローラ ↓ 右クリックで新規作成 ↓ その他 ↓ Dolteng ↓ Dolteng Project ↓ 項目を入力(Presentaionだけ慣…

ビヘイアにqueryDeleteやqueryUpdateがジェネレートされない

対象のテーブルが複数主キーが設定されている場合、ジェネレートされない。

自動で挿入される日付やIDを無効化するには

作成日付、更新日付など自動で挿入する設定になっている場合で、ピンポイントで設定を無効化するにはエンティティに用意されている下記のメソッドを 実行の上レコードの更新を行う。 entity.disableCommonColumnAutoSetup(); これで任意の日付などを入れたい…

先頭の一行だけ取得するには

cb.query().addOrderBy_LoginDate_Desc(); cb.fetchFirst(1);条件当てはまるものが無い場合nullが返るので注意する

存在したらUpdate、存在していなければUpdateするには

以下のメソッドで 存在したらUpdate、存在していなければUpdateを実現出来る。Emplyee emplyee = new Emplyee();emplyeeBhv.insertOrUpdate(emplyee); 利用の際はPKの指定に気をつける。

テーブルのカラムにシーケンスが設定されいる場合

今までは明示的にシーケンスを取得していたがEmplyee emplyee = new Emplyee();long seqNo = emplyeeBhv.selectNextVal();emplyee.setSeqNo(seqNo);emplyeeBhv.insert(emplyee); 実はその必要がなかったことが判明した。Emplyee emplyee = new Emplyee();emp…

DBFlueでジェネレートするテーブルの指定方法

build-***.propertiesの中の以下の行で指定する。 torque.table.target.list = list:{prefix:wf; job}prefix:wf で、テーブルの開始文字列をjob ではテーブル名そのものを指定

SQL検索条件に日付のFrom〜Toを指定しする場合の注意点

DBFluteを使って日付を検索条件に入れる場合、 時分秒をきちんと00秒などに設定しないと僅かな差で正確な検索が行えない。 その際にDateFromToOptionを引数として渡すことで 自ら細かい設定しなくてもそこら辺をキレイに設定を行ってくれる。 以下は当日に変…

CBの使い方

http://gihyo.jp/dev/feature/01/dbflute/0004