【发布时间】:2011-09-08 09:38:29
【问题描述】:
概述:这是我的第一篇由 Websphere 7 Server & JPA 1.0 & EJB & Derby Database 编写的教程。
首先:我的数据源名称是 EJB3BANK,我的目标数据库是 SHOP。
第二:这是 persistence.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="ShopJPA" transaction-type="JTA">
<jta-data-source>jdbc/EJB3BANK</jta-data-source>
<non-jta-data-source>jdbc/EJB3BANK</non-jta-data-source>
<properties>
<property name="openjpa.jdbc.Schema" value="SHOP" />
</properties>
</persistence-unit>
</persistence>
第三:Item实体类
的部分代码@Entity
@Table(schema = "SHOP", name = "ITEM")
@NamedQuery(name = "getItem", query = "SELECT i FROM Item i")
public class Item{...}
第四:这里是业务类 CartBean 这里是问题的开始
@Stateful
CartBean implements Cart{
....
....
public List<Item> getItems() {
javax.persistence.Query query = em.createNamedQuery("getItem");//the problem here
return query.getResultList();
}
}
这是错误消息:必须在 ConnectionDriverName 属性中指定 JDBC 驱动程序或数据源类名。 如何解决这个问题?
【问题讨论】:
-
显示的错误信息表明数据源不可用或在WebSphere 7中没有正确配置。您验证了吗?
-
@Vineet 我在 RAD 中创建了名为 EJB3BANK 的数据源,它工作正常……但如果我理解正确,你的意思是在 WebSphere 的管理控制台中配置 EJB3BANK 数据源吗??
-
是的,我就是这个意思。它在运行时可用吗?见this related question at the developerWorks forum。
-
显示完整的堆栈跟踪可能对某些人有用。
标签: jpa jakarta-ee ejb-3.0 websphere-7