有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JPA持久性类解决方案

我使用EclipseLink作为JPA提供商,但在打电话时:

Persistence.createEntityManagerFactory("emfactory1")

我得到一个例外:

java.lang.ClassNotFoundException: javax.persistence.Persistence

pom.xml文件的内容如下:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>eclipselink</artifactId>
  <version>2.6.4</version>
</dependency>

环顾四周,我发现a suggestion只获取JPA API:

<artifactId>javax.persistence</artifactId>

但这仍然给了我同样的例外。我只想说我现在陷入困境,需要帮助

编辑

下面是输出的屏幕截图 output


共 (1) 个答案

  1. # 1 楼答案

    错误原因:代码中缺少数据源

    试试这个

    InitialContext ctx = new InitialContext();
                            DataSource ds = (DataSource) ctx.lookup(DATA_SOURCE_NAME);
    
                            Map<String, Object> properties = new HashMap<>();
                            properties.put(PersistenceUnitProperties.NON_JTA_DATASOURCE, ds);
                            entityManagerFactory = Persistence.createEntityManagerFactory(
                                    PERSISTENCE_UNIT_NAME, properties);