<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Olen Onnellinen 2 &#187; Java</title>
	<atom:link href="http://blog.magellanic.net/archives/category/java/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.magellanic.net</link>
	<description>さまようITエンジニアの日記です。システム開発から資格試験、ゲーム、ライトノベルまで何でもありの雑記。</description>
	<lastBuildDate>Thu, 05 Jan 2012 04:29:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2way SQL の挙動がおかしい（気がする）＠S2JDBC</title>
		<link>http://blog.magellanic.net/archives/443</link>
		<comments>http://blog.magellanic.net/archives/443#comments</comments>
		<pubDate>Sun, 03 May 2009 23:02:21 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[S2JDBC]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=443</guid>
		<description><![CDATA[S2JDBC の 2way SQL の挙動が気になったのでメモ。 というか 2way SQL のパラメータが Map のときの挙動。 チュートリアルのテストケースを利用して検証してみました。 2.4.35 を使用します。 [...]]]></description>
			<content:encoded><![CDATA[				<p>S2JDBC の 2way SQL の挙動が気になったのでメモ。<br />
				というか 2way SQL のパラメータが Map のときの挙動。</p>
				<p>チュートリアルのテストケースを利用して検証してみました。<br />
				2.4.35 を使用します。</p>
				<p>まずサンプルの 2way SQL をコピーして変更。</p>
				<p>■ META-INF/sql/examples/entity/Employee/selectWithDepartment2.sql</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">select</span> <span class="hl-identifier">e</span><span class="hl-code">.*, </span><span class="hl-identifier">d</span><span class="hl-code">.</span><span class="hl-var">name</span> <span class="hl-reserved">as</span> <span class="hl-identifier">department_name</span></li>
				<li>&nbsp;<span class="hl-reserved">from</span> <span class="hl-identifier">employee</span> <span class="hl-identifier">e</span> <span class="hl-reserved">left</span> <span class="hl-reserved">outer</span> <span class="hl-reserved">join</span> <span class="hl-identifier">department</span> <span class="hl-identifier">d</span> <span class="hl-reserved">on</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">department_id</span><span class="hl-code"> = </span><span class="hl-identifier">d</span><span class="hl-code">.</span><span class="hl-identifier">id</span></li>
				<li>&nbsp;<span class="hl-comment">/*</span><span class="hl-comment">BEGIN</span><span class="hl-comment">*/</span></li>
				<li>&nbsp;<span class="hl-reserved">where</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">IF salaryMin != null</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> &gt;= </span><span class="hl-comment">/*</span><span class="hl-comment">salaryMin</span><span class="hl-comment">*/</span><span class="hl-number">1000</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">END</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">IF salaryMax != null</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">and</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> &lt;= </span><span class="hl-comment">/*</span><span class="hl-comment">salaryMax</span><span class="hl-comment">*/</span><span class="hl-number">2000</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">END</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">&#8211; 追加ここから</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">IF departmentId != null</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">and</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">department_id</span><span class="hl-code"> = </span><span class="hl-comment">/*</span><span class="hl-comment">departmentId</span><span class="hl-comment">*/</span><span class="hl-number">1</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">/*</span><span class="hl-comment">END</span><span class="hl-comment">*/</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-comment">&#8211; 追加ここまで</span></li>
				<li>&nbsp;<span class="hl-comment">/*</span><span class="hl-comment">END</span><span class="hl-comment">*/</span></li>
				<li>&nbsp;<span class="hl-reserved">order</span> <span class="hl-reserved">by</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span></li>
				</ol>
				</div>
				<p>■ テストケースその1<br />
				パラメータをすべて指定してみる。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span >void</span> <span class="hl-identifier">testSqlFile</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span> <span class="hl-reserved">throws</span> <span class="hl-identifier">Exception</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> DTO</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">SelectWithDepartmentDto</span> <span class="hl-identifier">dto</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">SelectWithDepartmentDto</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">salaryMin</span><span class="hl-code"> = </span><span class="hl-number">1200</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">salaryMax</span><span class="hl-code"> = </span><span class="hl-number">1800</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">departmentId</span><span class="hl-code"> = </span><span class="hl-number">3</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">dto</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;DTO&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-DTO&#8212;&#8211;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> MAP</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">Map</span> <span class="hl-identifier">map</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">HashMap</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">salaryMin</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">1200</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">salaryMax</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">1800</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">departmentId</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">3</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results2</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">map</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;MAP&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results2</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;MAP&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>同じ SQL が発行されます。当然結果も同じです。</p>
				<p>■ テストケースその2<br />
				パラメータを2つにしてみた。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span >void</span> <span class="hl-identifier">testSqlFile2</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span> <span class="hl-reserved">throws</span> <span class="hl-identifier">Exception</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> DTO</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">SelectWithDepartmentDto</span> <span class="hl-identifier">dto</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">SelectWithDepartmentDto</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">salaryMin</span><span class="hl-code"> = </span><span class="hl-number">1200</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">salaryMax</span><span class="hl-code"> = </span><span class="hl-number">1800</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">dto</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;DTO&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-DTO&#8212;&#8211;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> MAP</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">Map</span> <span class="hl-identifier">map</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">HashMap</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">salaryMin</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">1200</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">salaryMax</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">1800</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results2</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">map</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;MAP&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results2</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;MAP&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>同じ SQL が発行され、結果も同じなのですが、Map の方では WARN が出力される。</p>
				<div class="command">WARN  2009-05-04 06:52:33,250 [main] 引数(departmentId)が見つかりません</div>
				<p>以下のように Map に key を設定すれば回避できますが…（ーー;）</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">departmentId</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">null</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				</ol>
				</div>
				<p>■ テストケースその3<br />
				パラメータを1つにしてみた。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span >void</span> <span class="hl-identifier">testSqlFile3</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span> <span class="hl-reserved">throws</span> <span class="hl-identifier">Exception</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> DTO</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">SelectWithDepartmentDto</span> <span class="hl-identifier">dto</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">SelectWithDepartmentDto</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">dto</span><span class="hl-code">.</span><span class="hl-identifier">salaryMin</span><span class="hl-code"> = </span><span class="hl-number">1200</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">dto</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;DTO&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-DTO&#8212;&#8211;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> MAP</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">Map</span> <span class="hl-identifier">map</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">HashMap</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">map</span><span class="hl-code">.</span><span class="hl-identifier">put</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">salaryMin</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-number">1200</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">List</span><span class="hl-code">&lt;</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">&gt; </span><span class="hl-identifier">results2</span><span class="hl-code"> =</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">jdbcManager</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">selectBySqlFile</span><span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span><span class="hl-code">.</span><span class="hl-reserved">class</span><span class="hl-code">, </span><span class="hl-identifier">SQL_FILE</span><span class="hl-code">, </span><span class="hl-identifier">map</span><span class="hl-brackets">)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">getResultList</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;MAP&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">for</span> <span class="hl-brackets">(</span><span class="hl-identifier">EmployeeDto</span> <span class="hl-identifier">e</span><span class="hl-code"> : </span><span class="hl-identifier">results2</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">name</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">departmentName</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;MAP&#8212;&#8212;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp; </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>Map のとき、発行される SQL が違が …（*ﾟロﾟ*）</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">select</span> <span class="hl-identifier">e</span><span class="hl-code">.*, </span><span class="hl-identifier">d</span><span class="hl-code">.</span><span class="hl-var">name</span> <span class="hl-reserved">as</span> <span class="hl-identifier">department_name</span></li>
				<li>&nbsp;<span class="hl-reserved">from</span> <span class="hl-identifier">employee</span> <span class="hl-identifier">e</span> <span class="hl-reserved">left</span> <span class="hl-reserved">outer</span> <span class="hl-reserved">join</span> <span class="hl-identifier">department</span> <span class="hl-identifier">d</span> <span class="hl-reserved">on</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">department_id</span><span class="hl-code"> = </span><span class="hl-identifier">d</span><span class="hl-code">.</span><span class="hl-identifier">id</span></li>
				<li>&nbsp;<span class="hl-reserved">where</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> &gt;= </span><span class="hl-number">1200</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">and</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span><span class="hl-code"> &lt;= </span><span class="hl-number">1200</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">and</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">department_id</span><span class="hl-code"> = </span><span class="hl-number">1200</span></li>
				<li>&nbsp;<span class="hl-reserved">order</span> <span class="hl-reserved">by</span> <span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">salary</span></li>
				</ol>
				</div>
				<p>Map のサイズが1のときだけ…？</p>
				<p>中途半端ですがコードを追いきれなかったので今日はココまでです！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BufferedReaderの終端判定とか</title>
		<link>http://blog.magellanic.net/archives/437</link>
		<comments>http://blog.magellanic.net/archives/437#comments</comments>
		<pubDate>Wed, 29 Apr 2009 02:18:07 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[システム開発]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=437</guid>
		<description><![CDATA[＠IT：連載 基礎から学ぶサーブレット／JSP　第9回 古い記事なのですが、気になる箇所を見つけました。 訂正のお知らせ（2009年3月31日） 読者から上記のサンプルコード、「while (objBr.ready()) [...]]]></description>
			<content:encoded><![CDATA[				<p><a href='http://www.atmarkit.co.jp/fjava/rensai2/jspservlet09/jspsevlet09_3.html'>＠IT：連載 基礎から学ぶサーブレット／JSP　第9回</a></p>
				<p>古い記事なのですが、気になる箇所を見つけました。</p>
				<blockquote><p>訂正のお知らせ（2009年3月31日）<br />
				読者から上記のサンプルコード、「while (objBr.ready())」について貴重なご指摘をいただき、コードを差し替え、また編集部注を追記させて頂きました。<br />
				内容について正確を期せずに混乱を招いた点、読者の皆様におわび申し上げます。</p></blockquote>
				<p>なぜか最近修正されています。<br />
				BufferedReader#ready() による判定から BufferedReader#readLine() の判定に変更されたということなのでしょうけど、変更内容について言及されていないのため、なにが問題だったのかわからないのです。</p>
				<p>調べてみたところ、ready() に気になる記述がありました。</p>
				<blockquote><p>次の read() が入力をブロックしないのが確実な場合は true、そうでない場合は false。false が返されても、次の読み込みが確実にブロックするというわけでない<br />
				<cite><a href='http://sdc.sun.co.jp/java/docs/j2se/1.5.0/ja/docs/ja/api/java/io/BufferedReader.html#ready()'>BufferedReader (Java 2 Platform SE 5.0)</a></cite></p></blockquote>
				<p>ものすごくわかりにくいのですが、&#8221;falseでも読み込み対象がなくなったとは限らないよ&#8221;ということなんだと思います。疑わしきは false。<br />
				つまり、ファイル終端まで読み込むための判定とは目的が違うということです。</p>
				<p>まあ記事の修正と関係あるのかはわかりませんが、ファイルなどを全部読み込む目的で ready() は使わないほうがよさそうです。</p>
				<p>■ 参考<br />
				<a href='http://homepage1.nifty.com/phinloda/d200312.htm'>2003年12月のアレ</a></p>
				<p><a href='http://www.ne.jp/asahi/hishidama/home/tech/java/file.html'>Javaファイル関連メモ(Hishidama&#8217;s Java File Memo)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/437/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipseの水平ルーラー</title>
		<link>http://blog.magellanic.net/archives/350</link>
		<comments>http://blog.magellanic.net/archives/350#comments</comments>
		<pubDate>Sun, 15 Mar 2009 08:34:40 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=350</guid>
		<description><![CDATA[Eclipse のエディタに水平ルーラーをつけてみました。 どうやって実装するかイメージがなかったのですが、 COBOL Editor なるものに水平ルーラーが実装されていたので、それを参考にしました。 簡単にいうと、S [...]]]></description>
			<content:encoded><![CDATA[				<p>Eclipse のエディタに水平ルーラーをつけてみました。</p>
				<p>どうやって実装するかイメージがなかったのですが、 <a href='http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.cobol.help/doc/opens01/opens041.html'>COBOL Editor</a> なるものに水平ルーラーが実装されていたので、それを参考にしました。</p>
				<p>簡単にいうと、SWTのコンポーネントを置いているだけですが、フォントやら日本語など、スクラッチじゃできなかっただろうなーと思います。</p>
				<p>で、<a href='http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.cobol.help/doc/opens01/opens041.html'>COBOL Editor</a> の中に気になる箇所を見つけた。</p>
				<p>■ スニペット<br />
				水平ルーラーのマーク位置を設定するところ。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span >char</span><span class="hl-brackets">[</span><span class="hl-brackets">]</span> <span class="hl-identifier">ch</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span >char</span><span class="hl-brackets">[</span><span class="hl-brackets">]</span> <span class="hl-brackets">{</span><span class="hl-identifier">document</span><span class="hl-code">.</span><span class="hl-identifier">getChar</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)</span><span class="hl-brackets">}</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span >byte</span><span class="hl-brackets">[</span><span class="hl-brackets">]</span> <span class="hl-identifier">by</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">String</span><span class="hl-brackets">(</span><span class="hl-identifier">ch</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">getBytes</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span class="hl-identifier">column</span><span class="hl-code"> += </span><span class="hl-identifier">by</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">;</span></li>
				</ol>
				</div>
				<p>例えば、&#8221;ほげほげほ&#8221;というテキストの末尾にカーソルがある場合、全角は2文字分の幅を使うのでルーラーの目盛は10になるはずです。</p>
				<p>上記はその実装なのですが、UTF-8では全角日本語は3バイトだったりするのでバイト基準では、ずれてしまう…と思うのですがどうなんでしょう。</p>
				<p>現在のコントリビュータは日本の企業なので、気付いていないって事もなさそうなんですけど。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/350/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>技術書：Seasar2によるスーパーアジャイルなWeb開発</title>
		<link>http://blog.magellanic.net/archives/269</link>
		<comments>http://blog.magellanic.net/archives/269#comments</comments>
		<pubDate>Sat, 07 Feb 2009 16:54:20 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[技術書]]></category>
		<category><![CDATA[Seasar2]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=269</guid>
		<description><![CDATA[Seasar2を使うかもしれないってことで購入。 中身を確認しないで Web から購入したのですが、この本を選んだ理由は以下のようなところです。 ・ 比較的新しい ・ 著者がひがさん ・ &#8220;入門&#8221; [...]]]></description>
			<content:encoded><![CDATA[				<p>Seasar2を使うかもしれないってことで購入。</p>
				<p>中身を確認しないで Web から購入したのですが、この本を選んだ理由は以下のようなところです。</p>
				<p>・ 比較的新しい<br />
				・ 著者がひがさん<br />
				・ &#8220;入門&#8221;などとついていない</p>
				<p>が、正直残念な感じの Web 開発入門って内容でした。<br />
				要は普段 Java （や別の言語でも）を使って Web アプリの開発をしている人をターゲットにしているわけじゃないってことでしょう。どんな人をターゲットにしているのかわかりませんが。</p>
				<p>ぶっちゃけ、Seasar2は Web に多くの資料が公開されているので本を買う必要なんてないのですよ。<br />
				分厚いリファレンスになってしまうと、そもそもの&#8221;さくさく感&#8221;ってものが失われてしまいますからね。</p>
				<p>そんなことを高い授業料を払って学んだってことで。<br />
				いや、でも高すぎると思います。</p>
				<p><a href="http://amazon.co.jp/o/ASIN/4774134368/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/51PeOTOUYqL._SL160_.jpg" width="127" height="160" alt="Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ)" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4774134368/koshian404-22/ref=nosim" >Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/269/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipseプラグイン開発：ハイパーリンクのスタイル指定</title>
		<link>http://blog.magellanic.net/archives/238</link>
		<comments>http://blog.magellanic.net/archives/238#comments</comments>
		<pubDate>Tue, 27 Jan 2009 13:09:38 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=238</guid>
		<description><![CDATA[久しぶりに Eclipse のプラグイン開発の話を。 テキストエディタ内にハイパーリンクを作ったときのスタイルを指定する。 ハイパーリンクにカーソルをあわせたとき、「青字、下線付き」になることを期待しますよね。 ところが [...]]]></description>
			<content:encoded><![CDATA[				<p>久しぶりに Eclipse のプラグイン開発の話を。</p>
				<p>テキストエディタ内にハイパーリンクを作ったときのスタイルを指定する。</p>
				<p>ハイパーリンクにカーソルをあわせたとき、「青字、下線付き」になることを期待しますよね。<br />
				ところがハイパーリンクは動くものの、「青字、下線付き」にならないという現象に遭遇。そして原因がわからずはまったのでメモ。</p>
				<p>まず、「青字、下線付き」となることを期待する根拠は SourceViewerConfiguration の実装です。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span class="hl-identifier">IHyperlinkPresenter</span> <span class="hl-identifier">getHyperlinkPresenter</span><span class="hl-brackets">(</span><span class="hl-identifier">ISourceViewer</span> <span class="hl-identifier">sourceViewer</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">return</span> <span class="hl-reserved">new</span> <span class="hl-identifier">DefaultHyperlinkPresenter</span><span class="hl-brackets">(</span><span class="hl-reserved">new</span> <span class="hl-identifier">RGB</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">255</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>このようになっています。そのため、特別 Override しない限り、プレゼンテーションにはこの DefaultHyperlinkPresenter を使うことになります。<br />
				この DefaultHyperlinkPresenter には以下のコメントがあります。</p>
				<blockquote><p>The default hyperlink presenter underlines the link and colors the line and the text with the given color.</p></blockquote>
				<p>つまり、「青字、下線付き」ですよね。<br />
				それなのに、どうにも反応がありませんでした。<br />
				それでどうしたかというと、DefaultHyperlinkPresenter#applyTextPresentation 辺りにブレークポイントを設定してフィールド等を調べてみました。</p>
				<p>結果わかったことは、範囲（Region）がうまく設定されてないってことです。<br />
				IHyperlink の実装クラスで Region を返すのですが、この Region が正しい範囲を指定していなかったのです。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span class="hl-identifier">IHyperlink</span><span class="hl-brackets">[</span><span class="hl-brackets">]</span> <span class="hl-identifier">detectHyperlinks</span><span class="hl-brackets">(</span><span class="hl-identifier">ITextViewer</span> <span class="hl-identifier">textViewer</span><span class="hl-code">, </span><span class="hl-identifier">IRegion</span> <span class="hl-identifier">region</span><span class="hl-code">, </span><span >boolean</span> <span class="hl-identifier">canShowMultipleHyperlinks</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> （略）</span></li>
				<li><span class="hl-code">&nbsp;   </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> !! パラメータの region をそのまま渡しちゃってる !!</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment">&nbsp;&nbsp;&nbsp;&nbsp;  これはリンクを検出する前の範囲！</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">hyperLink</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">HogeHyperLink</span><span class="hl-brackets">(</span><span class="hl-identifier">region</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;   </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> （略）</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>IHyperlink の実装クラス（ここでは HogeHyperLink）に渡す範囲は検出時に計算したものじゃないとダメ（当たり前）。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-reserved">public</span> <span class="hl-identifier">IHyperlink</span><span class="hl-brackets">[</span><span class="hl-brackets">]</span> <span class="hl-identifier">detectHyperlinks</span><span class="hl-brackets">(</span><span class="hl-identifier">ITextViewer</span> <span class="hl-identifier">textViewer</span><span class="hl-code">, </span><span class="hl-identifier">IRegion</span> <span class="hl-identifier">region</span><span class="hl-code">, </span><span >boolean</span> <span class="hl-identifier">canShowMultipleHyperlinks</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> （略）</span></li>
				<li><span class="hl-code">&nbsp;   </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 検出結果のリンク文字列に対応した範囲を渡す！</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-identifier">hyperLink</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">HogeHyperLink</span><span class="hl-brackets">(</span><span class="hl-reserved">new</span> <span class="hl-identifier">Region</span><span class="hl-brackets">(</span><span class="hl-identifier">linkOffset</span><span class="hl-code">, </span><span class="hl-identifier">linkOffsetLength</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;   </span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> （略）</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>あとは HogeHyperLink#getHyperlinkRegion で渡されてきた Region をそのまま返せば OK です。</p>
				<p>単純なミスなのですけど、はまったので残しておきます。<br />
				げふ。</p>
				<p><a href="http://amazon.co.jp/o/ASIN/4839929726/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/519ACuTD%2B%2BL._SL160_.jpg" width="124" height="160" alt="Eclipse 3.4 プラグイン開発 徹底攻略 Eclipse 3.4 Ganymede対応" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4839929726/koshian404-22/ref=nosim" >Eclipse 3.4 プラグイン開発 徹底攻略 Eclipse 3.4 Ganymede対応</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/238/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>書評：Java魂</title>
		<link>http://blog.magellanic.net/archives/232</link>
		<comments>http://blog.magellanic.net/archives/232#comments</comments>
		<pubDate>Fri, 23 Jan 2009 14:09:25 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[技術書]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=232</guid>
		<description><![CDATA[中・上級者向けをうたっていますが、気持ち中級者向けだと思います。 日々の業務に即取り入れられたりそうでなかったり、それでもやっぱり知っていると違う、そんな風に思わせてくれる Tips が紹介されています。（一部常識も！） [...]]]></description>
			<content:encoded><![CDATA[				<p>中・上級者向けをうたっていますが、気持ち中級者向けだと思います。</p>
				<p>日々の業務に即取り入れられたりそうでなかったり、それでもやっぱり知っていると違う、そんな風に思わせてくれる Tips が紹介されています。（一部常識も！）</p>
				<p>Javaの業務をしていて、特に技術的に問題があるわけじゃないのだけど、ちょっとレベルアップしたい、なんてときにもオススメ。</p>
				<p>残念なのは、J2SE1.4がベースになっていて、5.0が最後にちょろっと紹介されている程度ということ。</p>
				<p>やっぱり技術書は定期的に読まないとだめだねー。面白い！</p>
				<p><a href="http://amazon.co.jp/o/ASIN/4873112079/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/5153H7DNSVL._SL160_.jpg" width="123" height="160" alt="Java魂―プログラミングを極める匠の技" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4873112079/koshian404-22/ref=nosim" >Java魂―プログラミングを極める匠の技</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/232/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javadocでパッケージの説明を書く</title>
		<link>http://blog.magellanic.net/archives/189</link>
		<comments>http://blog.magellanic.net/archives/189#comments</comments>
		<pubDate>Fri, 19 Dec 2008 13:36:40 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Javadoc]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=189</guid>
		<description><![CDATA[Javaでパッケージのコメントを書きたくて、確か方法があったよねーと調べてみたら、JDK5から書き方が変わったらしいのでメモ。 パッケージ内に以下のファイル名でファイルを作り、コメントを書けばよいです。 package- [...]]]></description>
			<content:encoded><![CDATA[				<p>Javaでパッケージのコメントを書きたくて、確か方法があったよねーと調べてみたら、JDK5から書き方が変わったらしいのでメモ。<br />
				パッケージ内に以下のファイル名でファイルを作り、コメントを書けばよいです。</p>
				<div class="command">package-info.java</div>
				<p>今まで（1.4時代以前）はhtmlファイルを用意してたんですね。</p>
				<p>■ 参考<br />
				<a href='http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/javadoc.html#packagecomment'>javadoc &#8211; Java API ドキュメントジェネレータ</a><br />
				<a href='http://d.hatena.ne.jp/kaniza/20080204/p3'>package-info.java &#8211; KaniWeb または かに日記</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/189/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Star開発ツールが公開</title>
		<link>http://blog.magellanic.net/archives/169</link>
		<comments>http://blog.magellanic.net/archives/169#comments</comments>
		<pubDate>Mon, 08 Dec 2008 12:05:29 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Star]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=169</guid>
		<description><![CDATA[StarのDevelopment Kitが公開されました。 Star-1.0プロファイル向けiアプリ開発ツール &#124; サービス・機能 &#124; NTTドコモ さっそくインストールしてみた。 サンプルのミニアプリは動くけど、フルア [...]]]></description>
			<content:encoded><![CDATA[				<p>StarのDevelopment Kitが公開されました。</p>
				<p><a href='http://www.nttdocomo.co.jp/service/imode/make/content/iappli/tool/star/star10/index.html'>Star-1.0プロファイル向けiアプリ開発ツール | サービス・機能 | NTTドコモ</a></p>
				<p>さっそくインストールしてみた。</p>
				<p>サンプルのミニアプリは動くけど、フルアプリが動かない…。</p>
				<p>Starのインストール時にVCのライブラリをインストールしてなかったからみたい。</p>
				<div class="command">C:\iDKStar1.0\runtime\vcredist_x86.exe</div>
				<p>これで動いた。おつかれちゃん。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/169/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>いまさらJSPではまる</title>
		<link>http://blog.magellanic.net/archives/139</link>
		<comments>http://blog.magellanic.net/archives/139#comments</comments>
		<pubDate>Sat, 22 Nov 2008 13:14:38 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JSP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=139</guid>
		<description><![CDATA[こんばんは、こしあんです。 久しぶりにJSPのコードを書きました。 で、軽くはまりました。 成長していないどころか、退化してます。 JSPが例外をthrowした場合、そのJSPのpageディレクティブのerrorPage [...]]]></description>
			<content:encoded><![CDATA[				<p>こんばんは、こしあんです。</p>
				<p>久しぶりにJSPのコードを書きました。<br />
				で、軽くはまりました。</p>
				<p>成長していないどころか、退化してます。</p>
				<p>JSPが例外をthrowした場合、そのJSPのpageディレクティブのerrorPage属性で指定したページに飛ばされます。<br />
				そしてその送信されたページ（pageディレクティブのisErrorPage属性をtrueにする）では暗黙オブジェクトの&#8221;exception&#8221;が使えます。<br />
				なので、このページではexceptionのトレースをログにでも出力して、画面にはごめんなさい表示をするのが妥当な処理かと思います。</p>
				<p>どこにはまったのかというと、エラーページJSPでexceptionの処理をしていないため、エラーの原因がわからなかったのです。<br />
				元のJSPのcatch(Exception e)ブロックにも引っかかっておらず、？？？となりました。</p>
				<p>もうお気づきの方もいるかと思いますが、Errorが投げられていたのでした。<br />
				やっぱり、Errorはcatchすべきではないし、エラーページの暗黙オブジェクト&#8221;exception&#8221;はThrowableなのでエラーページでロギングなのかなー。</p>
				<p>おっと、Errorの原因だったOutOfMemoryですが、VMに-Xmx256mとでもすれば回避できます。Eclipseのプロセスじゃなくて、Tomcatのプロセスにね！</p>
				<p>【参考】<br />
				<a href='http://d.hatena.ne.jp/nikkei225f/20080325'>TIPS &#8211; Struts 2+Spring 2+Tiles+Acegi+iBatis+GWT+JUnit 4+JMockit でフルスタックJAVAフレームワーク</a><br />
				<a href='http://www.atmarkit.co.jp/fjava/rensai/jsp2_04/jsp2_04_1.html'>連載：作りながら理解する「JSPコーディング・テクニック」第4回</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/139/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javaのプロパティファイル(properties)の仕様</title>
		<link>http://blog.magellanic.net/archives/106</link>
		<comments>http://blog.magellanic.net/archives/106#comments</comments>
		<pubDate>Fri, 07 Nov 2008 12:18:29 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[properties]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=106</guid>
		<description><![CDATA[仕様とは言わないかもですが、PropertiesクラスのAPIドキュメントに読み込み処理について記述されています。 Properties (Java Platform SE 6) 1部を意訳してみると、 コメント行は&# [...]]]></description>
			<content:encoded><![CDATA[				<p>仕様とは言わないかもですが、PropertiesクラスのAPIドキュメントに読み込み処理について記述されています。</p>
				<p><a href='http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Properties.html#load(java.io.Reader)'>Properties (Java Platform SE 6)</a></p>
				<p>1部を意訳してみると、</p>
				<ul>
				<li>コメント行は&#8221;#&#8221;または&#8221;!&#8221;で始まる</li>
				<li>キーと値の区切りは&#8221;=&#8221;または&#8221;:&#8221;または空白</li>
				</ul>
				<p>とのことのようです。</p>
				<p>コメント行が&#8221;!&#8221;でも良いことや、区切りは&#8221;:&#8221;でも良く、&#8221;=&#8221;の省略も可能っていうことは知りませんでしたよ。<br />
				常識なのかにゃー。<br />
				それでもプロジェクトで記述は統一しておいた方が良いでしょうけどね。</p>
				<p>ちなみにPropertiesクラスが書き込む際にはコメントは&#8221;#&#8221;、区切りは&#8221;=&#8221;が使われますので、これにあわせておくのが無難かと思われます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

