使用@PersistenceUnit在Websphere中注入EntityManagerFactory的问题

时间:2012-10-24 10:12:04

标签: websphere jpa-2.0 code-injection persistence.xml

我在将Glassfish从Glassfish 3.1移植到Websphere 8.5时遇到了麻烦。 问题是使用JPA2: 在Glassfish中运行的以下配置在Websphere中不起作用:

<persistence-unit name="pippoPU" transaction-type="JTA">  
<jta-data-source>jdbc/pippo</jta-data-source>

@ManagedBean(name = "xxxxxxx")
@ViewScoped
public class MioJSFBean implements Serializable {
    .....
    .....

    @Resource
    private UserTransaction utx = null;

    @PersistenceUnit(unitName = "pippoPU")
    private EntityManagerFactory emf = null;

    ....
    ....
}

问题是没有注入EntityManagerFactory ..它仍为null ..

两个应用程序服务器都符合JEE6。

(几个月前,我尝试过使用Weblogic 10.3,如果我没记错的话,当我直接从Eclipse部署时遇到了同样的问题......这是一个已知的问题,可以通过设置“发布为”来解决“来自weblogic-eclipse插件的爆炸档案。”

有人有什么建议吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

当项目中的任何实体出现问题/错误时,会发生这种情况 Websphere只在日志中输出一行 - 我相信你会找到它:

[ERROR] The server cannot create an EntityManagerFactory factory 

您需要将com.ibm.ws.jpa.*的日志记录级别设置为All messages and traces。 然后,您将在日志中找到问题的根本原因。