grails run-app
を実行しているとき、私はこのエラーを取得しています:「データベース名[H2]のHibernate dialectを判別できませんでした!」
Error executing bootstraps: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'hibernateProperties' while setting bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateProperties': Cannot resolve reference to bean 'dialectDetector' while setting bean property 'properties' with key [hibernate.dialect]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectDetector': Invocation of init method failed; nested exception is org.codehaus.groovy.grails.orm.hibernate.exceptions.CouldNotDetermineHibernateDialectException: Could not determine Hibernate dialect for database name [H2]!
応じDataSource.groovy:
dataSource {
pooled = true
driverClassName = "org.h2.Driver"
username = "sa"
password = ""
// Adding this causes a different error:
// dialect = org.hibernate.dialect.H2Dialect
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:h2:mem:devDB"
}
}
test { // test-related stuff }
production { // prod-related stuff }
}
を(org.hibernate.dialect.H2Dialect
)前述したように、私は明示的に、その後、方言を提供する場合エラーが発生します:
ブートストラップの実行中にエラーが発生しました:名前 'messag eSource ':Beanの初期化に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'transactionManager'という名前のBeanの作成中にエラーが発生しました: 'sessionFactory' beanの設定中に 'sessionFactory'への参照を解決できません。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'sessionFactory'という名前のBeanを作成中にエラーが発生しました:initメソッドの呼び出しに失敗しました。ネストされた例外はjava.lang.IncompatibleClassChangeErrorです:クラスorg.hibernate.cfgが見つかりましたが、インタフェースが予期されました
これに対処する方法を知っていますか?
(バグレポートがhttp://jira.grails.org/browse/GRAILS-7994として存在する)のGrailsの
私は2.0.0.BUILD-SNAPSHOTを使用しています。私は確信していますが、問題は2.0.0.M1でも(少なくともH2関連のエラーが)あったと思いますが、何とか「消えた」と今再び復活しました。あなたがリンクしているJira氏によると、パッチはすでに最新のバージョンになっていると思いますか? – user569825
まだGrails 2.0を試していないので、パッチが含まれているかどうかは本当に分かりません。 Grails 1.3.7とH2データベースを使用している3つのプロダクションアプリケーションでこのアプローチを使用していますが、すべて正常に動作しています。 –
Googleから何かを見つけてください。役立つかどうかはわかりません。 http://ricardo.strangevistas.net/tag/h2 –