[Seasar-user:4322] Re: [Kuina-Dao]named-native-queryの利用方法

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2006年 8月 11日 (金) 05:15:27 JST


小林 (koichik) です.

Date:    Fri, 11 Aug 2006 02:19:57 +0900
From:    Takuya OKADA <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4321] [Kuina-Dao]named-native-queryの利用方法

> JPQLで実現できない、既存のSQLを発行する必要があり、
> Kuina-DaoでNativeQueryを用いようとしています。

例の件ですね.(^^;

> trunkの最新リビジョンを見ると、employee_queries.xmlに
> named-native-queryの記述が追加されていたため、
> kuinaDaoInterceptorを用いて利用することができないか
> 試しているのですが、上手くいきません。
> 
> daoのinterfaceに、@TargetEntityや@QueryNameを付加するなど
> 試してみたのですが、NoSuchMethodErrorが発生してしまいます。

すみません,中途半端な状態でコミットしてしまいました.
employee-queries.xml に記述されている named-native-query の
名前は Employee.count になっていますが,named-query の場合と同様,
Dao のメソッド名は find〜() または get〜()で始まる必要があります.
そのため,named-native-query の名前も Employees.getCount のように
する必要があります.
という例を KuinaDaoInterceptorTest に追加しました.


> また、named-native-queryでも、native-queryと同様、
> 名前付きパラメータ(もしくは順序パラメータ)が
> サポートされるのでしょうか。

named-native-query では順序パラメータのみがサポートされます.
# JPA の仕様です.

しかし,Hibernate ではうまく動きません...
これについてはもう少し調べてみます.


-- 
<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 メーリングリストの案内