DBFlute

GWT+SimpleDto

GWTでSimpleDtoを利用することに結局なったのでメモ。SimpleDtoを画面出力データに利用する為出力先はclientへ出力する必要がある。daoなどとプロジェクトを分けてるときは何個フォルダあがるのだっけ。。。ってなるけどその辺りはよしなに。serverでdaoから…

共通カラム

共通カラムを変換すると共通絡むが最初にでる。。。のはどうでもよくてAccessContextはRuntimeにはいっててユーザとか時間のsetter/getterは用意されてるけどそれ以外の共通カラムがでてきたときはregisterAccessValueでkeyとvalueで登録をInterceptorとかで…

モビレット

Seasarカンファレンスに今日は行ってきました。今回はMobyletを目当てに行きました 大きいのは以下2点 3キャリアの絵文字の変換をしてくれる 携帯のブラウザ表示のサイズに合わせて表示サイズを簡単に変えれる。と書いたらいいかな。。。ただ、画像変換処…

序盤〜中盤

最初は正直何して良いかさっぱりだったのですが、何となくいじれるとこまできました。 足し算のサンプル 書いてある通りにやってもクラスが自動生成されなかった→htmlを修正してokを押下した後の画面で右上のほうにカーソルを合わせるとUPDATE CLASSESという…

序盤

Eclipseの更新サイトでYmirを更新するとプラグインでViliが入る DBFluteとの組み合わせでプロジェクトを作る DBはOracleが選択になかったのでカスタムで作成 一部設定漏れなのか設定されなかったのかでgenerate出来なかったので設定 basicinfoMap.dfpropで; …

*[.NET]外だしSQL+ページング(Oracle)

次回実装するとき用にメモを残します ページング用のParameterBeanをsql2entityで作成するためにはParameterBeanの宣言のところを以下の様に書く !HogePmb extends SPB!これを行うとParameterBeanで、何件ずつで、何ページ目でというのが指定ができるように…

Replace-Schemaでプロシージャを扱う

playsqlフォルダの下にreplace-schema-で始まるファイルで置いておく ファイルの中を以下で囲む create or replaceの前に [-- #df:begin#] END; の後ろに [-- #df:end#] 最後の[/]は必要ないとか

解決:Replace-Schemaでプロシージャを扱う

どうしてコンパイルされないか原因がわかりました。ログをちゃんと見ればもっと早く気付いたのに・・・。ちょっと反省。 ファイルに例えば以下を用意したとします replace-schema.sql replace-schema-proc.sql replace-schema-seq.sql この場合Windows上では…

追記:Replace-Schemaでプロシージャを扱う

今のところよくわかっていないけれど、上記の方法で流すとコンパイルされない。 playsqlフォルダでtake-finally.sqlというファイルを用意すると最後に実行してくれるのでこちらで ALTER PROCEDURE プロシージャ名 COMPILE; というのを実行して今のところ対応…

うやむやな点整理

ReplaceSchemaで失敗していてもSuccessって出てるときがあるきがする OracleのシーケンスのDropはやっぱり書かないとダメなのか こんな感じでシーケンスはとってこれそう SELECT object_name FROM all_objects WHERE object_type='SEQUENCE' and owner= 設定…

外だしSQLのバインド変数にリストを渡す

ここに載っています http://dbflute.sandbox.seasar.org/contents/outside-sql/pmcomment.html ちょっと見つけにくかったので書いておきます MEMBER_STATUS_CODE in /*pmb.memberStatusCodeList*/('FML', 'WDL') リストは渡せるけど配列は無理ぽいです

カラム長

Oracleは30バイトの制約がテーブル名やカラム名にもかかってくるのですが、DBを作成しているときに30バイトで作っていたりすると、DBFluteのConditionBeanを利用してSQLを発行していると識別子が長いといって怒られるケースがあります。 原因は結合があると…

ReplaceSchemaで

ぼけてて日付を11/31で入れてたらデータがエラーにならずに12/1でInsertされていた。どこがやってるのだろう??時間ができたら見てみませう

ConditionBeanを使うとき

ConditionBeanを使うときに、 HogeCB cb = new HogeCB(); cb.Query().SetHogeId(1); cb.Query().SetAction("a");とするときと HogeCB cb = new HogeCB(); cb.Query().SetAction("a"); cb.Query().SetHogeId(1);とする時で、whereの順番が変わってきます。 こ…

改行

replace-schemaをするためにデータをExcelに入れていく。そして改行の入っているデータを入れる。するとExcelの仕様?で\nでデータが入る。System.Environment.NewLineではWindows環境なので\r\nとなっていて、Replace(System.Environment.NewLine, "<br />")で置…

replace-schemaのメモ

playsql/replace-schema.sqlにテーブルのCREATE文やALTER文を書く 入れたいデータをエクセル及びテキストデータで用意する playsql/data/common/xls及びplaysql/data/ut/xls commonは毎回データを入れる。utはut時にだけ入れたい時に設定できる。(itとutでテ…

テーブル名と同じカラム名

適当にテーブルを作ってDBFluteでGenをしたらなぜかエラーがでた。 testというテーブルにtestというカラムを作っていたらTestという クラスにgetter/setterのところの名前がprivate string Testという のができていたためだった。

InsertOrUpdate(C#)

Oracleの自動採番のPKなどがある場合 torque.sequenceDefinitionMap でsequenceを設定しますが、BehaviorのInsertOrUpdateメソッドを 使用するとSelectNextVal()でPKをセットする部分がないと エラーになる(と思います)。そこは注意しておこう。

sql2entity

テーブルに10万件データを入れてそのテーブル全件検索をする 外だしSQLを作成してsql2entityをしたらメモリが足りないと言われて 失敗しました。メモリを増やすか一時的にsqlに取得件数を絞る ようにしたら成功しました。実際には10万件取得するSQLは無いと …

外だしSQL(sql2entity)

外だしSQLでselect * from hoge left outer join hige としたときhogeとhigeに同じ名前のカラムがあると hogeの方を優先して作成している。ようにみえる。 当然のことながら明示的に指定。量が増えるとめんどい; サンプルでやっているだけなので実際にはも…

OriginalのDaoをDiconに

またメモ。 ちょっと特殊?なアプリを作っているのでDBFluteで自動生成したある機能の Daoがあり、そこに独自実装をしようとするとImplクラスを作成すると、 自動生成されたInterfaceの実装もよろしくと言われる。 別Daoとして作成をする。そのDiconの設定を…

排他&自動更新

自分はよく行き当たりばったりでひっかかる; ドキュメント読めば書いてあるのに・・・。というののひとつ; 自分用メモとして日記に書いておきます。 torque.updateDateFieldName = upd_datetime を設定しておけば torque.commonColumnSetupBeforeUpdateInt…

Paging

versionは0.5.3ですが、DBがSQLSERVERで、torque.database = mssqlを設定。 その状態で HogeCB cb = new HogeCB(); cb.fetchFirst(5); cb.fetchPage(num); HogeBhv.SelectPage(cb); を行うと1ページ目は5件取得できて、2ページ目が1〜10の10件を取得してしま…

inscope subquery

ConditionBeanのページを見れば載っているけれども自分用にメモ。 HogeCB cb = new HogeCB(); HugaCB hugaCB = new HugaCB(); cb.query().setHogeId_InScopeSubQuery_HugaList(hugaCB.query()); List list = bhv.selectList(cb); final CBSetupper setupper …