0

私はこのようなものを持っています:

文字列 statusCode

そして私が持っているマッピングでは:

statusCode 列: 'status_cd'、タイプ: 'NVARCHAR'

「varchar」、「VARCHAR」、および「nvarchar」を試してみましたが、受け取り続けています

org.springframework.beans.factory.BeanCreationException: 'transactionManagerPostProcessor' という名前の Bean の作成中にエラーが発生しました:
Bean の初期化に失敗しました。ネストされた例外は
org.springframework.beans.factory.BeanCreationException: 'transactionManager' という名前の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.MappingException です: NVARCHAR、テーブル: CARD、列: [org.hibernate.mapping.Column(status_cd)]
、java.util.concurrent.FutureTask$Sync のタイプを特定できませんでした。
java.util.concurrent.FutureTask.run(FutureTask.java:138)
で java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor ) .java:908)
で java.lang.Thread.run(Thread.java:619)

マッピングで何が欠けている可能性がありますか?私はgrails 2.0とMS SQLを使用しています

4

2 に答える 2

1

Steve Ebersoleは正しいので、追加できます:

'sqlType'をマッピングして設定し、試してみてくださいsqlType: "nvarchar", length: 255... Hibernate type、type: 'text' のデフォルトは varchar

于 2012-05-23T00:12:24.567 に答える
1

"type: " が Hibernate がその用語を使用する方法と同等であると仮定すると、問題は type が Hibernate マッピング タイプを参照する必要があることです。つまり、type は Java 型でも SQL 型でもありません。2 つの間のマッピングを理解する Hibernate の概念です。国有化された文字列のサポートは、Hibernate の標準ではまだ存在しません (5.0 で予定されています)。しかし、追加するのはとても簡単です。

まず、Sting と NVARCHAR の間の Hibernate マッピング タイプを定義する必要があります。これは、UserType を実装するか、組み込みの Hibernate マッピング タイプの 1 つを拡張することで実現できます (org.hibernate.type.StringType はおそらく出発点として適しています)。

次に、マッピングでその実装に名前を付けます。

于 2012-05-22T21:10:58.240 に答える