This is a cache of http://dbflute.seasar.org/ja/tutorial/devfaq.html. It is a snapshot of the page at 2024-11-01T00:07:05.994+0000.
ディベロッパーのためのFAQ | DBFlute

ディベロッパーのためのFAQ

ConditionBeanの機能、どうやって探すの?

真っ先に、"ConditionBeanのトップページ" に飛んでください。

そして、やりたいことはなんでしょうか?

例えば、会員の検索において "未払いの購入を持っている会員を検索したい" のであれば、やりたいことは "データの絞り込み" です。子テーブルのカラムで基点テーブルを絞り込みたいと考えられます。

そして...

  1. ConditionBeanのトップページへ行く
  2. "ConditionBeanの機能" の "データの絞り込み" のリンクをクリック
  3. "利用できるカラム" を見てみて、"子テーブルのカラム (one-to-many)" を探す
  4. "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が管理するトランザクション内で実行されます。