2011-07-15 41 views
0

HiAll, 我被迷惑的EclipseLink爲Tomcat documentation說:是否可以在Spring,Eclipselink和Tomcat環境中使用@Transational?

侷限性JPA: 無容器的@PersistenceContext注入管理的持久化單元可用 - 使用Persistence.createEntityManagerFactory(JTA_PU_NAME)

和,還由該question&answer

但典型JPA配置在Spring中看起來像這樣,所以你不需要手動創建EntityManager: @PersistenceContext private EntityManager em;

所以,問題是:我可以使用@PersistenceContext這個註解@PersistenceContext來確保它會自動創建,我不需要手動創建它?

目前我的@Transactional註解不能正常工作,恐怕是因爲手動創建實體管理器!

請幫助。

回答

2

EclipseLink文檔說,@PersistenceContext不是由Tomcat自己處理的。但是,如果您使用Spring,則@PersistenceContext由Spring處理,以便您可以使用它。

參見:

+0

那麼,可能你也可以指定,什麼關於EntityManager的EntityManagerFactory的和添加註釋@PersistenceContext之間的區別? – javagirl

+2

EntityManagerFactory上的@PersistenceContext將不起作用。對於EntityManagerFactories,你必須使用@PersistenceUnit – dunni

+0

@dunni非常感謝你......一些文檔是可怕的,然後說明它的可能性 – javagirl

相關問題