Java 未找到JPA/HSQLDB持久性类错误
我对JPA和HSQLDB非常陌生,当我试图创建EntityManagerFactory时,我遇到了一个奇怪的错误。它是Eclipse中的一个Web动态项目(使用Tomcat6.0作为Web服务器),我在Web-INF/lib中导入了所有库。我试图在servlet中创建实体管理器工厂,但在中,我只在行中给出了一个类not found异常Java 未找到JPA/HSQLDB持久性类错误,java,jpa,persistence,Java,Jpa,Persistence,我对JPA和HSQLDB非常陌生,当我试图创建EntityManagerFactory时,我遇到了一个奇怪的错误。它是Eclipse中的一个Web动态项目(使用Tomcat6.0作为Web服务器),我在Web-INF/lib中导入了所有库。我试图在servlet中创建实体管理器工厂,但在中,我只在行中给出了一个类not found异常 emf = Persistence.createEntityManagerFactory("manager1"); 以下是我在servlet中使用的代码: pa
emf = Persistence.createEntityManagerFactory("manager1");
以下是我在servlet中使用的代码:
package view;
import java.io.IOException;
import javax.persistence.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.ThemeLivre;
public class AjouterTheme extends HttpServlet {
//private static final long serialVersionUID = 1L;
@PersistenceUnit(unitName ="DB")
private EntityManagerFactory emf;
public AjouterTheme() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
emf = Persistence.createEntityManagerFactory("DB");
EntityManager em = emf.createEntityManager();
String nomTheme = request.getParameter("nomtheme");
String descTheme = request.getParameter("desctheme");
EntityTransaction tx = em.getTransaction();
tx.begin();
ThemeLivre thml = new ThemeLivre(nomTheme, descTheme);
em.persist(thml);
tx.commit();
}
}
这是我的persistence.xml
<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="DB" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/DefaultDS</jta-data-source>
<class>model.ThemeLivre</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost/"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
org.hibernate.ejb.HibernatePersistence
java:/DefaultDS
model.ThemeLivre
真的
请告诉我我做错了什么,或者我能做些什么。
感谢您使用的servlet代码
@PersistenceUnit(unitName ="DB")
private EntityManagerFactory emf;
但是你申报
<persistence-unit name="manager1" transaction-type="RESOURCE_LOCAL">
更改一个或另一个持久性单元名称
按照上面的输入
尝试添加hibernate持久性提供程序库。您只添加规范(API)。需要实现本身(hibernate)来创建实体管理器。“我导入了WEB-INF/lib中的所有库”。您可以发布WEB-INF/lib下的lib吗?com.springsource libaries和javax.persistence_2.0.3.v2010191057.jar尝试添加hibernate持久性提供程序lib。您只添加规范(API)。需要实现本身(hibernate)来创建实体管理器。。但仍然不起作用