2

私はいくつかのSpringコンテキスト構成を持っています

<bean name="propertyConfigurator" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="location" value="classpath:/com/net/model/jdbc.properties"/>
</bean>
            ....

<bean id="sessionFactoryToBillingDb" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  <property name="hibernateProperties">
   <props>
     <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            ....

jdbc.propertiesは次のようになります

...
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
...

そして、Inellij Idea の HQL コンソールを使用したいのですが、エラーが発生します:

java.lang.RuntimeException: org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.hibernate.dialect.MySQLDialectt.MySQLDialect] as strategy [org.hibernate.dialect.Dialect]

org.hibernate.dialect. MySQLDialectt.MySQLDialect 何が問題なのですか?

4

2 に答える 2

1

余分な t を追加しました。それがエラーメッセージの内容です:

名前を解決できません [org.hibernate.dialect.MySQLDialectt.MySQLDialect]

于 2015-12-27T07:00:41.113 に答える
0

ほとんどの場合、プロパティの値 ( ) は、予想org.hibernate.dialect.MySQLDialectt.MySQLDialectされる値 ( )とは異なりますorg.hibernate.dialect.MySQL5Dialect。つまり、何かがその値を変更する必要があり、この何かはあなたが示したプロジェクトの一部ではありません。

質問のコメントで試したことから、これを知っています。

  1. パラメータの代わりに実際の値をそこに書き込んでください。
  2. ファイルからの他のパラメーターが使用されているかどうかをテストします。

あなたが試すべきこと:

  1. 値を出力する必要があります${hibernate.dialect}。これを行う最も簡単な方法は、パラメーターを間違った場所 (例: URL が属する場所など) で使用することです。これにより、そこにエラー メッセージが表示され、その変数の実際の値が何であるかを確認できます。
  2. 「MySQL」、「Dialectt」、および「Dialect」のパターンについてプロジェクトの全文検索を実行し、これを引き起こす可能性のあるものを見つける必要があります。
  3. それが失敗した場合は、この特定の問題を再現するために必要な要素のみで構成され、他には何もない (!) 新しいプロジェクトを開始します。そこで動作するかどうかを確認し、動作するまでこのプロジェクトを現在のプロジェクトにマージし始めます->次に、どこが間違っているかを見つけました。
于 2014-07-03T12:18:41.197 に答える