2017-01-12 5 views
1

何が起こっているのか分かりません。LocalContainerEntityManagerFactoryBeanをEntityManagerFactoryに変換できません

突然、簡単なことが止まった!

は今、可惜私は以下のコンパイルエラー

incompatible types: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean cannot be converted to javax.persistence.EntityManagerFactory 

を取得し、LocalContainerEntityManagerFactoryBeanJpaTransactionManager#setEntityManagerFactory()法により必要とされるEntityManagerFactoryを実装していないので、これは、正しいことをここにhttp://docs.spring.io/spring-data/jpa/docs/1.10.6.RELEASE/reference/html/#jpa.java-config

のようなものを定義しようとしています。

公式の例には間違ったスニペットが含まれていますか?どのようにすることができます、このスニペットはしばらくの間私のためにコンパイルされましたか?

私が壊したものは?

UPDATE

私はそれがドキュメント内のエラーです

txManager.setEntityManagerFactory(entityManagerFactory().getObject()); 

txManager.setEntityManagerFactory(entityManagerFactory()); 

を書き換えることができましたか?

+0

使用しているjarのバージョンを確認しようとしましたか?あなたはこれが "突然"起こるようになったと言いました...たぶん何かをアップグレードしようとしましたか?いずれにしても、spring、hibernateなどのバージョンを指定してください。 –

+0

バージョンはdocが属する '1.10.6.RELEASE'です。 Hibernateはこの問題に関与していません。私は変更したものを思い出しました。例では 'getObject()'がないので 'getObject()'を削除しました。私は医者に近づこうとしたが、春の地獄に沈んだ。 – Dims

答えて

1
txManager.setEntityManagerFactory(entityManagerFactory()); 

あなたのどちらかがそう正直にそれが以前働いていた理由を私は知らないこの

txManager.setEntityManagerFactory(entityManagerFactory().getObject()); 

または

txManager.setEntityManagerFactory(entityManagerFactory().getNativeEntityManagerFactory() 

をしなければならない作業すると仮定ではありません。

私ははい、ドキュメントはにエンティティマネージャファクトリを注入するために、このコードを使用し

間違っている公式のドキュメントで説明したように、私はその方法を試してみましたが、それは

4

を動作しませんでしたので、それは間違いだと思いますtxManager

@Bean @Autowired public PlatformTransactionManager transactionManager(EntityManagerFactory factory) { 
    JpaTransactionManager txManager = new JpaTransactionManager(); 
    txManager.setEntityManagerFactory(factory); 
    return txManager; 
} 
関連する問題