This is a cache of http://dbflute.seasar.org/ja/manual/function/genbafit/dbflutefit/outsidesqltitle/index.html. It is a snapshot of the page at 2024-11-13T00:18:42.193+0000.
外だし<strong>s</strong>QLのタイトル (Out<strong>s</strong>ide<strong>s</strong>qlTitle) | DBFlute

外だしsQLのタイトル (OutsidesqlTitle)

Good Bye, 無言のsQL

無言のプログラムもつらいですが、(他人の作った)無言のsQLはさらに増してつらいものです。

DBFluteでは、外だしsQLのタイトルと説明を必須にしています。@since 1.1.0

外だしsQLのヘッダーコメント

ヘッダーコメントの形式

"[タイトル]説明" という形式でタイトルと説明を書きます。@since 1.1.0-sp6

e.g. ヘッダーコメントについて @Outsidesql
/*
 [ここにタイトルを書いて!sQLを識別できる業務的なタイトルをー]
 ここに説明を書いて!sQLの全体的な特徴とか特殊な点とか注意点とかー
*/
-- #df:entity#

-- !df:pmb!
-- !!AutoDetect!!

select ...
  from ...
 where ...
 order by ...

古いバージョンでのヘッダーコメントの形式

DBFluteの古いバージョンだと、[df:title], [df:description] 形式になります。

e.g. ヘッダーコメントについて @Outsidesql
/*
 [df:title]
 ここにタイトルを書いて!sQLを識別できる業務的なタイトルをー
 
 [df:description]
 ここに説明を書いて!sQLの全体的な特徴とか特殊な点とか注意点とかー
*/
-- #df:entity#

-- !df:pmb!
-- !!AutoDetect!!

select ...
  from ...
 where ...
 order by ...

OutsidesqlTestタスクでチェック

もし、ヘッダーコメントがなかったら、OutsidesqlTestタスクでチェックされます。

e.g. ヘッダーコメントがなかったら怒られる @Outsidesql
[df-outside-sql-test] org.dbflute.exception.DfRequiredOutsidesqlTitleNotFoundException: Look! Read the message below.
[df-outside-sql-test] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
[df-outside-sql-test] The outsidesql title was not found!
[df-outside-sql-test] 
[df-outside-sql-test] [Advice]
[df-outside-sql-test] Outsidesql title is required in this project
[df-outside-sql-test] because the property 'isRequiredsqlTitle' of outsidesqlMap.dfprop is true.
[df-outside-sql-test] so you should add title comment in your outside-sQL like this:
[df-outside-sql-test]   /= = = = = = = = = = = = = = = = = = =
[df-outside-sql-test]   /*
[df-outside-sql-test]    [simple Member select]       // *here
[df-outside-sql-test]    This sQL is ...
[df-outside-sql-test]   */
[df-outside-sql-test]   -- #df:entity#
[df-outside-sql-test] 
[df-outside-sql-test]   -- !df:pmb!
[df-outside-sql-test]   -- !!AutoDetect!!
[df-outside-sql-test] 
[df-outside-sql-test]   select ...
[df-outside-sql-test]     from ...
[df-outside-sql-test]    where ...
[df-outside-sql-test]   = = = = = = = = = = /

dfpropによるON/OFF

DBFlute-1.0.x (Java6版) では、もともとデフォルトではありませんでした。 dfpropで有効にしていました。

outsidesqlMap.dfprop (旧outsidesqlDefinitionMap.dfprop) の、isRequiredsqlTitle と isRequiredsqlDescription です。 これが、DBFlute-1.1.x (Java8版) からは、デフォルトが true になりました。