【发布时间】:2011-04-01 09:13:41
【问题描述】:
我是 EJB 3 和 JPA 的新手。
我在 appserver 中创建了一个数据源 jdbc/AppDataSource。默认持久性提供程序保留为com.ibm.websphere.persistence.PersistenceProviderImpl。
我将默认的 jta 数据源 JNDI 名称保留为 AppDataSource 本身。
我实际上对 JTA 和非 JTA 感到困惑。它们有什么区别?
我生成了实体并在 bean 中创建了一个 EntityTransaction 对象。
在调用persist() 和commit() 方法时,我得到一个错误:
javax.ejb.EJBException: See nested exception; nested exception is: <openjpa-1.2.1-SNAPSHOT-r422266:686069 fatal user error> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
Caused by: <openjpa-1.2.1-SNAPSHOT-r422266:686069 fatal user error> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
openjpa 是如何出现在这里的?
到目前为止,我的persistence.xml 仅包含实体类名称。
如何使它使用默认的应用服务器值作为数据源。否则我如何在persistence.xml 中提供 jpa 提供程序和数据源的详细信息?
请提供您的意见。
【问题讨论】:
标签: java orm jpa websphere openjpa