当前位置: 首页 > 知识库问答 >
问题:

PersistenceException:没有名为Eclipselink_JPA的EntityManager的持久性提供程序

夏青青
2023-03-14

我是JPA的新手,我对此相当迷茫。

我在netbeans中创建了一个企业项目来做一些测试。使用向导创建了此持久性单元。我为它添加了一个正常工作的JNDI连接,并且已经对它进行了测试:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="persistencia" transaction-type="JTA">
    <jta-data-source>jdbc/nuevaConexion</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>
@Entity
public class Entity1 implements Serializable {

    private static long serialVersionUID = 1L;

    private String nombre;
    private int numero;
    /**
     * @return the serialVersionUID
     */
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    /**
     * @param aSerialVersionUID the serialVersionUID to set
     */
    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

   // setters & getters
public class CreateEntity1 {

   public static void main( String[ ] args ) {

      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );      
      EntityManager entitymanager = emfactory.createEntityManager( );
      entitymanager.getTransaction( ).begin( );

      Entity1 ent = new Entity1( ); 
      ent.setId(1);
      ent.setNombre("Mi entidad");
      ent.setNumero(123);

      entitymanager.persist( ent );
      entitymanager.getTransaction( ).commit( );
      entitymanager.close( );
      emfactory.close( );
   }
}

编辑2:将所有内容都改为Hibernate类型。仍然得到一个巨大的错误:

共有1个答案

谈萧迟
2023-03-14

看看我的anwser,看看我的anwser,看看Spring Data JPA的最简单的工作示例。对我来说很简单。希望对你来说也一样简单。

 类似资料:
  • 问题内容: 我在目录下使用相同的名字。然后,我用以下代码调用它: 但是,我收到以下错误消息: 这是: 它应该在类路径中。但是,我得到了上面的错误。 问题答案: 在之后,定义持久性提供程序名称:

  • 我试图在Eclipse中测试我的hibernate maven应用程序,当我运行获取enttity类名称的方法时,我得到了以下异常: 这是persistence.xml: 这是使用以下方法的类: 波姆。xml: 我尝试更改持久性的版本号、更改xmlns、提供程序的名称,但仍然是例外。

  • 我在REST服务器上工作,同时学习EJB\Hibernate。当服务调用DAO时,我面临一个问题,即它找不到我的持久性单元。 在本例中,我得到“无法为unitName PersistenceUnit检索EntityManagerFactory” 然后我试试这个: null pom.xml

  • 我正在尝试调用persistence.xml来显示Netbean IDE中数据库中的一些数据。我已经查看并尝试了以前用户提出的不同方法,但我仍然无法解决这个问题。 我用这个来称呼持久性单元, 这是我试图运行文件时返回的结果, 这是第805行,错误似乎就是从这里产生的 如前所述, 我已经在持久化单元名称下添加了提供者, 我已经确保持久性是单元在META-INF文件夹中, 它在类路径中,所以我不确定错

  • 我正在使用JPA开发一个JavaSE应用程序。不幸的是,调用后我得到了: 下面你会发现: 调用并意外返回 我的坚持。xml文件 我的项目结构 我的代码片段: 我的坚持。xml: 我的项目结构:

  • 在drools workbench中,我创建了java类来获取entitymanager,并在drl文件中使用它,但我的问题是 当我在workbench中创建新项目时,我会像maven一样创建项目结构 当我打电话给全班的时候,像贝娄一样 persistence.xml像贝娄 还有pom。类xml 当我试图调用工厂类时,我没有为名为XXX的持久性提供程序 新工厂类