私が取り組んでいるプロジェクトには、JPA 2.0(Hibernate 4実装)とSQL Server 2008 R2があります。JPA 2.0 - ネイティブクエリのNVARCHAR
SQLビューからデータを選択する必要があります。これを行うためにネイティブクエリを使用しますが、NVARCHARフィールドについていくつかの問題が発生しました。コードのこの部分を使用した場合、基本的に:
org.springframework.orm.hibernate3.HibernateSystemException: No Dialect mapping for JDBC type: -9; nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
は、タイプ-9実際NVARCHARタイプです:
@SqlResultSetMapping(name = "ItemDetailsMapping", columns = { @ColumnResult(name = "address") })
は、私が言って例外を取得:
String sql = "SELECT v.text_field as address FROM SOME_CUSTOM_VIEW v
Query q = entityManager.createNativeQuery(sql,"ItemDetailsMapping");
List<Object[]> result = q.getResultList();
ItemDetailsMappingは次のように宣言されていますこれはアプリケーション全体で広く使用されており、ネイティブでないクエリを使用しているときは完全に機能します。ネイティブクエリではなぜ機能しないのですか?私もカスタムの方言を使用して型を登録しましたが、それでも動作しません。あなたはSessionインターフェース経由でHibernateを使用して.When String
にデータ型NVARCHAR
を関連付ける必要があり、あなたの助け
はありがとうございます。私は試して、それがどうなるか見てみましょう。 –
すごくうまくいって、ありがとう! –
'addScalar'メソッドがもう存在しないようです –