创建EntityManager时出错

时间:2012-05-01 18:52:18

标签: java java-ee jpa jpa-2.0 entitymanager

我正在尝试创建一个实体管理器来持久化对象。我是这样做的:

 EntityManagerFactory emf = Persistence.createEntityManagerFactory("com.dv_model_jar_1.0-SNAPSHOTPU");
    EntityManager em = emf.createEntityManager();
    EntityTransaction tx = em.getTransaction();

    Users user = new Users();
    user.setPassword("test2");
    user.setUserName("test2");

    tx.begin();
    em.persist(user);
    tx.commit();

    em.close();
    emf.close();

当我尝试在Netbeans中运行此代码时,我可以执行第一行并获得工厂,但是,在执行第二行之后,程序将停止。没有输出。有什么想法吗?

这是我的persistence.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
  <persistence-unit name="com.dv_model_jar_1.0-SNAPSHOTPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.dv.model.Users</class>
<properties>
  <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:8889/esa"/>
  <property name="javax.persistence.jdbc.password" value="root"/>
  <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
  <property name="javax.persistence.jdbc.user" value="root"/>
  <property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>

2 个答案:

答案 0 :(得分:0)

您很可能会收到错误,例如您的登录失败。添加try catch并打印异常。或者调试代码。

答案 1 :(得分:0)

我明白了。我在类路径中没有jdbc。它无法找到数据库。