Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未找到JPA/HSQLDB持久性类错误_Java_Jpa_Persistence - Fatal编程技术网

Java 未找到JPA/HSQLDB持久性类错误

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

我对JPA和HSQLDB非常陌生,当我试图创建EntityManagerFactory时,我遇到了一个奇怪的错误。它是Eclipse中的一个Web动态项目(使用Tomcat6.0作为Web服务器),我在Web-INF/lib中导入了所有库。我试图在servlet中创建实体管理器工厂,但在中,我只在行中给出了一个类not found异常

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)来创建实体管理器。。但仍然不起作用