Java 为什么可以';我不能同时使用JPA、数据库和primefaces吗?
我有一个用户类,which是JPA的数据库Java 为什么可以';我不能同时使用JPA、数据库和primefaces吗?,java,database,jpa,jakarta-ee,primefaces,Java,Database,Jpa,Jakarta Ee,Primefaces,我有一个用户类,which是JPA的数据库@Entity 我有一个UserServiceImpl类,它有这个getAllUser()方法(下面的异常:UserServiceImpl.java:16=第二行): 我认为,问题在于托管bean不能使用其他类。这是一个例外: java.lang.NoClassDefFoundError: javax/persistence/Persistence at hu.pte.admin.services.EMService.getEntityManager(E
@Entity
我有一个UserServiceImpl类,它有这个getAllUser()
方法(下面的异常:UserServiceImpl.java:16=第二行):
我认为,问题在于托管bean不能使用其他类。这是一个例外:
java.lang.NoClassDefFoundError: javax/persistence/Persistence
at hu.pte.admin.services.EMService.getEntityManager(EMService.java:12)
at hu.pte.admin.services.usersmodul.UserServiceImpl.<init>(UserServiceImpl.java:16)
at hu.pte.admin.managedbeans.UserBean.<init>(UserBean.java:19)
这是users.xhtml(detail),我想在primefaces代码中使用托管bean(userBean):
<p:dataTable var="user" value="#{userBean.users}" paginator="true" rows="10"
selection="#{userBean.selectedUser}" selectionMode="single"
onRowSelectUpdate="display" rowsPerPageTemplate="5,10,15">
<f:facet name="header">The Users</f:facet>
<p:column sortBy="#{user.id}" filterBy="#{user.id}">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{user.id}" />
</p:column>
用户
persistence.xml具有连接到我的数据库的代码。请帮帮我,我在网上找不到任何样本,它们都是这样使用JPA和PrimeFaces的!谢谢 例外情况清楚地告诉您:
java.lang.NoClassDefFoundError: javax/persistence/Persistence
未找到
javax.persistence.persistence
class的类定义。我假设您正在运行JavaSESDK。我建议下载并运行包含Persistence
API的。异常清楚地显示您:
java.lang.NoClassDefFoundError: javax/persistence/Persistence
未找到
javax.persistence.persistence
class的类定义。我假设您正在运行JavaSESDK。我建议下载并运行包含Persistence
API的。除了NoClassDefFoundError之外,您的getAllUsers
方法中还有一个问题:
List<User> users = (List<User>) q.getSingleResult();
List users=(List)q.getSingleResult();
如果查询结果是唯一的,则调用
getSingleResult
将返回单个用户实体,否则将引发异常。要检索用户列表,您需要调用getResultList
。除了NoClassDefFoundError之外,您的getAllUsers
方法中还有一个问题:
List<User> users = (List<User>) q.getSingleResult();
List users=(List)q.getSingleResult();
如果查询结果是唯一的,则调用
getSingleResult
将返回单个用户实体,否则将引发异常。要检索用户列表,您需要调用getResultList
。是的,我安装了,并且得到了相同的异常:)我告诉您,问题在于UserBean的构造函数中的声明。不需要JEE,只需要“persistence api.jar”。为什么下载XXX Mb而110Kb就可以了?从@victorio获取geronimo-jpa_2.0_spec-1.0.jar,您的UserBean
构造函数没有问题。您只需要包含@DataNucleus建议的持久性API的jar。只需在web服务器库文件夹中部署jar即可。哦!!有办法!现在我有了这个异常:com.sun.faces.mgbean.ManagedBeanCreationException:Cant实例化类:hu.pte.admin.managedbeans.UserBean.newexception=New question;-)是的,我安装了,并且得到了相同的异常:)我说,问题在于UserBean的构造函数,声明中。好吧,不需要JEE,只需要“persistenceAPI.jar”。为什么下载XXX Mb而110Kb就可以了?从@victorio获取geronimo-jpa_2.0_spec-1.0.jar,您的UserBean
构造函数没有问题。您只需要包含@DataNucleus建议的持久性API的jar。只需在web服务器库文件夹中部署jar即可。哦!!有办法!现在我有了这个异常:com.sun.faces.mgbean.ManagedBeanCreationException:Cant实例化类:hu.pte.admin.managedbeans.UserBean.newexception=New question;-)谢谢你是对的!我在我的web服务器库文件夹中部署了geronimo-jpa_2.0_spec-1.0.jar,现在我有了一个新的异常:com.sun.faces.mgbean.ManagedBeanCreationException:Cant实例化类:hu.pte.admin.managedbeans.UserBean。
你能帮我吗?@victorio:请创建一个新问题并包含完整的堆栈跟踪。谢谢!!你是对的!我在我的web服务器库文件夹中部署了geronimo-jpa_2.0_spec-1.0.jar,现在我有了一个新的异常:com.sun.faces.mgbean.ManagedBeanCreationException:Cant实例化类:hu.pte.admin.managedbeans.UserBean。
你能帮我吗?@victorio:请创建一个新问题并包含完整的堆栈跟踪。
List<User> users = (List<User>) q.getSingleResult();