ディベロッパーのためのFAQ
ConditionBeanの機能、どうやって探すの?
真っ先に、"ConditionBeanのトップページ" に飛んでください。
そして、やりたいことはなんでしょうか?
- データの取得? (関連テーブルのデータも画面に表示するとか)
- データの絞り込み? (比較条件で検索対象レコードを限定するとか)
- データの並び替え? (検索対象レコードをどう並べるかとか)
- 検索のスタイル? (一件検索とかページング検索とか)
例えば、会員の検索において "未払いの購入を持っている会員を検索したい" のであれば、やりたいことは "データの絞り込み" です。子テーブルのカラムで基点テーブルを絞り込みたいと考えられます。
そして...
- ConditionBeanのトップページへ行く
- "ConditionBeanの機能" の "データの絞り込み" のリンクをクリック
- "利用できるカラム" を見てみて、"子テーブルのカラム (one-to-many)" を探す
- "ExistsReferrer" が見つかり、そのページの "実装手順" を読む
やりたいこと(目的)が明確になってさえいれば、その目的から辿っていけるようなドキュメントになっています。 目的ドリブンのAPIであり、目的ドリブンのドキュメントとなっています。
親テーブルのカラムで絞り込みしたいときは?
ConditionBeanの機能の "データの絞り込み" をクリックし、"利用できるカラム" を欄を見て、many-to-one に該当する機能をクリックすると、親テーブルのカラムで絞り込み方法がわかります。
one-to-manyのテーブルのデータも検索したいときは?
ConditionBeanの機能の "データの取得" をクリックし、"取得できるカラム" を欄を見て、one-to-many のカラムに該当する機能をクリックすると、子テーブルの取得方法がわかります。
one-to-manyのテーブルのカラムで絞り込みしたいときは?
ConditionBeanの機能の "データの絞り込み" をクリックし、"利用できるカラム" を欄を見て、one-to-many のカラムに該当する機能をクリックすると、子テーブルのカラムでの絞り込み方法がわかります。
カラムとカラムの比較で絞り込みしたいときは?
ConditionBeanの機能の "データの絞り込み" をクリックし、"絞り込み条件" を欄を見てずっと眺めていくと、"カラム同士の比較で絞り込み" という条件が見つかります。
なんでこんな素直じゃないFAQなの?
ズバリの回答ではなく、その答えにどうやったら辿り着くのか?ここでは機能ドキュメントの探し方を説明しています。確かに素直じゃないですね。
何十人もの人にDBFluteハンズオンを行ってきましたが、自力で探せる人と探せない人の差を見かけるようになりました。 その過程をじっくり研究すると、探せる人は目的ドリブンで ConditionBean のドキュメントを辿ってわりと簡単に機能を見つけていました。 そのドキュメントの探し方を教えるようにしたところ、自力で探せる人が圧倒的に増えました。
ということで、このFAQにおいても、ドキュメントの辿り方に重点を置いて回答しています。
普通のFAQ
トランザクションはどう指定するの?
トランザクション(Transaction)の指定方法は、連携するフレームワークによって変わります。
DBFlute自体は、トランザクション制御に関与はせず、DIコンテナなど連携するフレームワークに任せています。 例えば、Spring Frameworkを使っていれば(正しく連携されていれば)、DBFluteのDBアクセスはSpringが管理するトランザクション内で実行されます。