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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2006年 8月 14日 (月) 00:00:15 JST


小林 (koichik) です.

Date:    Sat, 12 Aug 2006 00:54:26 +0900
From:    Takuya OKADA <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4328] Re: [Kuina-Dao]named-native-queryの利用方法

> なるほど。メソッド名にも命名規則があったのですね。
> コミットされているものとは別のqueryでも試して確認しました。
>  find〜()ならList<Object[]>
>  get〜()ならObject[]
> が戻り値になるということですね。

です.

> > named-native-query では順序パラメータのみがサポートされます.
> > # JPA の仕様です.
> > 
> > しかし,Hibernate ではうまく動きません...
> > これについてはもう少し調べてみます.
> 
> こちらもよろしくお願いします。

どうやら Hibernate の問題のようです.
Hibernate 本体 (core) は native query の positional parameter を
内部的には named parameter として扱っています.
# "1" とか "2" という名前のパラメータとして扱う

しかし,Hibernate EntityManager の方では内部的にも
positional parameter を期待しているようです.

暫定として,S2Hibernate-JPA の中に Hibernate EntityManager の
ソースを修正したものをコミットしました.
# この問題を Hibernate の JIRA に登録したいのだけど...
# だれか えいご たのむ

named-native-query にパラメータを使用した例を
KuinaDaoInterceptorTest#testGetCountByBloodType() として
追加しました.



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