2017-02-12 3 views
0

私のスプリングブート+休止状態5アプリケーションでjava.lang.IllegalArgumentException: Property 'sessionFactory' is requiredを取得する。私はこのSessionFactory例外

@Autowired 
    public void setupSessionFactory(SessionFactory sessionFactory) { 
     setSessionFactory(sessionFactory); 
     getHibernateTemplate().setCheckWriteOperations(false); 
    } 

そしてまた、私は私の設定ファイルにこのようなものを追加しようとしました

@Bean 
    public HibernateJpaSessionFactoryBean getSessionFactory() { 
     return new HibernateJpaSessionFactoryBean(); 
    } 

    @Bean 
    public SessionFactory sessionFactory(){ 
     return new LocalSessionFactoryBean().getObject(); 
    } 

    @Bean 
    public HibernateTransactionManager transactionManager(SessionFactory sf) { 
     return new HibernateTransactionManager(sf); 
    } 

マイapplication.ymlファイル

spring: 
    datasource: 
    url: jdbc:postgresql://localhost:5432/db 
    driver-class-name: org.postgresql.Driver 
    username: postgres 
    password: password 
    jpa: 
    hibernate: 
     ddl-auto: update 

security: 
    basic: 
    enabled: false 

任意のアイデアをどのようにのようにそれをautowireしようこれを解決する?

答えて

0

return new LocalSessionFactoryBean().getObject();がnullを返す可能性があります。 nullにすることのデフォルトである

public SessionFactory getObject() { 
     return this.sessionFactory; 
} 

この方法は、単純に内部フィールドの値を返します。

セッションファクトリを設定する必要があります。データソースをセットアップし、スキャンするパッケージを作成し、プロパティを休止状態にする必要があります。 Something like that

@Bean 
    public LocalSessionFactoryBean sessionFactory() { 
     LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); 
     sessionFactory.setDataSource(restDataSource()); 
     sessionFactory.setPackagesToScan(
     new String[] { "org.baeldung.spring.persistence.model" }); 
     sessionFactory.setHibernateProperties(hibernateProperties()); 

     return sessionFactory; 
    } 
+0

エラーに変更: 説明:com.jgang.realestate.service.OwnerServiceImplに フィールドownerRepositoryが見つかりませんでした 'のEntityManagerFactory' という名前のBeanを要求しました。 アクション: 設定で 'entityManagerFactory'という名前のBeanを定義することを検討してください。 – MolecularMan

+0

私は 'com.jgang.realestate.service.OwnerServiceImpl'は何も分かりませんが、質問の問題は解決しましたが、間違いなく別の問題です。 – Andremoniy

+0

とbtw、私はdatasourceとhibernateの設定にapplication.ymlを使用できますか? – MolecularMan

関連する問題