1

データベース スキーマを自動的に作成し、参照データを入力しようとしています。

これを行うには、次のように、hibernate-context.xml ファイルに sessionFactory Bean を設定します。

<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <beans:property name="dataSource" ref="dataSource"/>
    <beans:property name="packagesToScan" value="com.pp" />
    <beans:property name="hibernateProperties">
        <beans:props>
            <beans:prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</beans:prop>

            <beans:prop key="hibernate.show_sql">true</beans:prop>
            <beans:prop key="hibernate.format_sql">true</beans:prop>
            <beans:prop key="hibernate.use_sql_comments">true</beans:prop>
            <beans:prop key="hibernate.hbm2ddl.auto">create-drop</beans:prop>
            <beans:prop key="hibernate.hbm2ddl.import_files_sql_extractor">org.hibe‌​rnate.tool.hbm2ddl.M‌​ultipleLinesSqlComma‌​ndExtractor</beans:prop>

            <beans:prop key="entitymanager.packages.to.scan">com.pp.model</beans:prop>
            <beans:prop key="hibernate.default_schema">USER_PP_SCHEMA</beans:prop>
        </beans:props> 
    </beans:property>
</beans:bean>

次のエラーがあります。

[localhost-startStop-1] 10:21:20,192 エラー org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:319) - コンテキストの初期化に失敗しました org.springframework.beans.factory.BeanCreationException: 名前を持つ Bean の作成中にエラーが発生しました'org.springframework.security.filterChains': キー [4] で Bean プロパティ 'sourceList' を設定している間、Bean 'org.springframework.security.web.DefaultSecurityFilterChain#4' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'org.springframework.security.web.DefaultSecurityFilterChain#4' という名前の Bean の作成中にエラーが発生しました: Bean 'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter# への参照を解決できません0' キー [3] でコンストラクタ引数を設定中。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0' という名前の Bean の作成中にエラーが発生しました: Bean 'org.springframework.security.authentication.ProviderManager# への参照を解決できませんBean プロパティ 'authenticationManager' の設定中に 0 が発生しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'org.springframework.security.authentication.ProviderManager#0' という名前の Bean の作成中にエラーが発生しました: Bean 'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean# への参照を解決できません0' コンストラクタ引数の設定中。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'org.springframework.security. config.authentication.AuthenticationManagerFactoryBean#0': FactoryBean がオブジェクトの作成時に例外をスローしました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'org.springframework.security.authenticationManager' という名前の Bean の作成中にエラーが発生しました: キー [0] でコンストラクター引数を設定している間、Bean 'customAuthenticationProvider' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'customAuthenticationProvider' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.pp.dao.UserDAO com.immochan.mercure.service.CustomAuthenticationProvider.userDAO; です。ネストされた例外は org.springframework.beans.factory です。BeanCreationException: 'userDAOImpl' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... 'userDAOImpl' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... 'userDAOImpl' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... userDAOImpl': 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... userDAOImpl': 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: protected org.hibernate.SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... SessionFactory com.immochan.mercure.dao.MercureDAOImpl.sessionFactory; ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義された名前 'sessionFactory' を持つ Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です... ServletContext リソース [/WEB-INF/spring/hibernate-context.xml] で定義: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329) です...

このエラーは multipleLinesSqlCommandExtractor Bean プロパティが原因です。これは、この行をパイプアウトすると正しく機能するためです。

<beans:prop key="hibernate.hbm2ddl.import_files_sql_extractor">org.hibe‌​rnate.tool.hbm2ddl.M‌​ultipleLinesSqlComma‌​ndExtractor</beans:prop>

何か案が?

4

0 に答える 0