[Seasar-user:13333] Re: [Dolteng] 「(引数名) does not exist in (Entityクラス名)」のエラーマーカー

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 3月 18日 (火) 22:00:56 JST


小林 (koichik) です.

Date:    Tue, 18 Mar 2008 20:26:10 +0900
From:    "Applied_MATSUDA Masaaki" <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:13331] Re: [Dolteng] 「(引数名) does not exist in (Entityクラス名)」のエラーマーカー

> 常々Kuina-Daoの使い方は
> http://kuina.seasar.org/ja/user_guide/query.html
> このあたりを読んでいるわけですが,そういうルール(?)
> とかは実はどこかにあるのでしょうか・・・

書いてないですね.
基本形はドキュメントに書いてある

List<Employee> findByExample(Employee emp);

のように引数はエンティティ一つだけで,
それに「加えて」firstResult,maxResults を
指定することができるのですが,それを
エンティティの前に持ってくる人がいるとは
想定できなかったので.
機会があれば追記しておきます.

> これは,パラメータの順を
> CmCaseDetail cmCaseDetail, int firstResult, int maxResults
> とすれば良い,ということでしょうか?

はい.



> 上記のような事情で,今回は(というか「も」orz)質問する
> べきこと自体が謎だったので,現象だけ書いてしまった気も
> します.

現象を書くといっても,時系列でだらだらと随筆調に
書くのではなく,「要約」してほしいということです.

とりあえず,以下の文書に目を通してはいかがでしょうか.

http://www.hyuki.com/writing/techask.html

特に「書き出し」とか.

例えば [Seasar-user:13321] だと,以下のように
書けば十分ではないでしょうか.

----------------------------------------------------------------------
Teeda + Kuina-Dao + S2Axis2 を利用しています.
Dolteng のバージョンを 0.28.0 に更新したところ,
以下の Dao メソッドでエラーマーカが表示されるように
なりました.

  public List<CmCaseDetail> findByExample( int firstResult, int maxResults, 
CmCaseDetail cmCaseDetail);

エラーメッセージは次のとおりです.

cmCaseDetail does not exist in com.略.entity.CmCaseDetail.

最後の引数の名前を aaa のように変更すると,エラーメッセージも
aaa に変わります.
Dolteng の前のバージョンではエラーは出ませんでした.

なぜエラーが出るのでしょうか?
----------------------------------------------------------------------

これなら,最初のブロックでどういう問題が起きているのか
把握して,原因を探りながら残りを読み進めることができます.

一方,[Seasar-user:13321] では,

----------------------------------------------------------------------
さて,Teeda+Kuina+(S2Axis2)なあるプロジェクトを開発しております.
今週になってある大きな問題をつぶし,やれやれと思い,ワークスペース
をノートパソコンの開発環境から自社リポジトリへコミットしました.

問題はその後です・・・
試験環境で動作確認しようと,デスクトップパソコンでリポジトリから
チェックアウトし,いきなりです.
Eclipseの例の赤いエラーマーカーが点灯しているではありませんか.

もちろんノートパソコンの環境ではビルドエラーはありませんでした.
クリーン,更新,再ビルド等やりまくってもOKですし,全部消してリポ
からチェックアウトしなおしてもばっちりOK.
----------------------------------------------------------------------

と,ここまで読んでも何が問題か把握できません.
エラーマーカーが出ているとは書いてあっても,
それが主題のマーカーなのか,そこでは分かりません.
余計な情報が多すぎるのに,肝心な情報が足りないのです.
こんな演出めいた書き方をされても,読んでいて
うんざりするだけです.

もっと「何が問題か?」ということがストレートに
伝わるよう意識してはいかがでしょうか.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内