问题标签 [persistence-unit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6969 浏览

hibernate - CWWJP0015E 为持久性单元创建实体管理器工厂时出错

在 IBM WebSphere Application Server WAS 7 中启动我的 EJB 应用程序时,我遇到了以下错误。

JPAPUnitInfo E CWWJP0015E: org.hibernate.ejb.HibernatePersistence 持久性提供程序尝试为 *YOUR_PERSISTENCE_UNIT* 持久性单元创建容器实体管理器工厂时发生错误。发生以下错误:[PersistenceUnit: *YOUR_PERSISTENCE_UNIT*]找不到类或包

虽然在启动过程中可能不会注意到此错误消息,但最迟在您尝试获取实体管理器时,您将看到此错误:

javax.ejb.EJBException:注入失败;嵌套异常是:java.lang.IllegalStateException:EntityManagerFactory 尚未为 PU 创建:PuId=

对于不同的错误场景,错误消息是相似的,所以你在网上找到了很多解决方案,但没有一个适合。

0 投票
2 回答
2742 浏览

java - 将 Play 2 配置为使用 JPA 运行时遇到问题(持久性)

尝试持久化数据时显示以下错误:

这是Stream.java(一个模型)

persistence.xml文件位于 conf/META-INF 目录中:

这是Build.scala

我查看了文档并没有发现任何相关内容......

提前致谢!

0 投票
2 回答
7261 浏览

jpa - 创建没有 persistence.xml 的实体管理器工厂

有没有办法在没有定义持久性单元的情况下创建 EntityManagerFactory?您能否提供创建实体管理器工厂所需的所有属性?我需要在运行时根据用户指定的值创建 EntityManagerFactory。更新 persistence.xml 并重新编译不是一种选择。

目前我正在使用eclipselink 动态持久性,所以我需要创建没有定义持久性单元的 EntityManagerFactory 吗?我有一组运行时实体,需要在运行时将单个实体组映射到不同的数据库,并且没有可用于该运行时实体组的持久性单元条目。

任何关于如何做到这一点的想法都非常受欢迎!

0 投票
1 回答
130 浏览

jpa - 如何在 JavaEE 应用程序的一个 Persistence.xml 中使用 2 个 PersistenceUnits?

我正在尝试访问我的数据库中的 2 个不同的表。

最初我的 persistence.xml 如下:

所以我在这篇很棒的文章之后在 Glassfish 中定义了一个数据源,我的应用程序运行良好。我在我的 DAO 类中使用@PersistenceContext注释,名称为“Persistence”

这基本上连接到一个名为“classicmodels”的表。

然后我需要从一个名为“sakila”的表中获取一些数据。我将这些行添加到我的 persistence.xml 中:

我在我的 DAO 中使用了这段代码:

但是,当我将应用程序部署到 GlassFish 时,我开始收到此异常:

所以现在我的名为“持久性”的持久性单元似乎消失了。

我做错了什么?

0 投票
1 回答
1260 浏览

jpa - 两个模式的两个持久性单元?

我使用 Oracle DB 作为 RDBMS,我想通过我的 JSF2 应用程序访问两个数据库模式。

所以,我想我必须<persistence-unit>在我的persistence.xml?

0 投票
1 回答
545 浏览

hibernate - 添加单独的 persistenceUnit 仍然查看阔叶自己的实体并失败

我按照本教程开始添加另一个指向单独数据库的持久性单元。它不应该共享阔叶自己的实体。所以...

核心项目现在包含带有这些新 bean 的 applicationContext.xml:

核心项目还有 /META-INF/in1_persistance.xml 文件,其中包含以下内容:

此持久性单元的属性与 blPU 的属性非常相似,例如:

在 admin 中,将新资源添加到 \admin\src\main\webapp\META-INF\context.xml:

同样在 admin 中,在 \admin\src\main\webapp\WEB-INF\jetty-env.xml 中设置了新的 jndi 资源:

并在 applicationContext-datasource.xml 中添加了以下内容<jee:jndi-lookup id="in1DS" jndi-name="jdbc/in1"/>

应用程序启动并失败并显示以下错误消息:

我想知道为什么这个新的持久性单元会查找 ProductImpl 类?它没有列出供它使用(在 in1_persistence.xml 中没有列出任何类,并且<exclude-unlisted-classes/>处于打开状态)。它肯定看不到 CategoryImpl 实体......我在这里做错了什么?

0 投票
1 回答
91 浏览

java - JPA持久性单元到文件中?

我使用 JPA 将我的数据保存到 MySQL 数据库中,并且一切正常。现在我需要在执行程序的系统上存储一些配置。

在过去,我会创建一个 settings.ini 或一个 settings.xml 文件,并手动将我的东西存储到其中。但是现在我问自己是否可以在persistence.xml 中创建第二个持久性单元,这将使我能够将我的数据存储到一个xml 文件中。

那可能吗?我可以创建一个持久性单元,将我的数据放在 xml 文件而不是数据库中吗?

0 投票
1 回答
51 浏览

java - 何时/如何创建 jdbc percistency 实体

问题 :

何时以及如何创建 JDBC 表?因为奇怪的是我找不到任何用户表。我觉得奇怪的是用户和 Dish 之间有一个多对多关系的表,但没有用户表来存储该用户的名称和密码。

结构:

  • 用户:
    • String name
    • String password
    • List<Dish> shoppingList
  • 成分 :
    • String name
  • 成分数量:
    • Ingredient ingredient
    • Quantity quantity
  • 数量 :
    • int quantity
    • String unit
  • 盘子 :
    • String name
    • int people
    • Collection<IngredientQuantity> ingredients

JDBC:

JDBC

持久化单元:

0 投票
1 回答
673 浏览

java - 使用 OpenJPA 将 persistence.xml 打包到 jar 之外

所以我以一种非常规的方式使用 JPA(OpenJPA 2.3.0 实现)。我正在编写一个软件,它将维护一些人员数据并将工作分配给所述人员。它分配的工作类型是未定义的——用户必须扩展一个映射的超类,为该类添加任何额外的映射,我的软件基本上会从那里获取它。我们有几个遵循这种模式的系统,我们只想编写一次分配代码。但是,分配的内容存在细微差别 - 一些系统分配一个案例,其他分配一个较小的案例,其他分配基于客户等。

为了获得最大的可配置性,我将持久实体的所有元数据放入映射文件中,而不是使用注释。由于使用我的软件的程序员必须扩展该映射超类并将他们自己的映射添加到持久性单元,我不想将 persistence.xml 或我的映射 XML 打包到我正在创建的 jar 中。我认为程序员可以将这些文件包含在他们耳中的某个地方。我使用 Java SE 而不是 EE 编写了整个东西,所以我自己创建了 EntityManagerFactory 而不是注入它。

我的组织正在使用实现 Java EE 5 的 Websphere Application Server 7.0。查看 Java EE 5 中 JPA 的文档,似乎我的用户必须将 persistence.xml 和映射 XML 文件打包到一个单独的 jar 中,该 jar 可以放置在耳朵的图书馆文件夹。然后他们可以在 persistence.xml 中引用我的 jar 文件。类似于以下内容(我的软件名称是 WAM):

我试图以这种方式编写一个快速而肮脏的 Web 服务。我添加了我的 persistence.xml 文件并将 XML 映射到一个名为 wam-config.jar 的 jar 中,并将其粘贴在 ear 库文件夹中。当我发出 Web 服务请求时,我收到以下错误:

wam-1.0.0.jar 文件位于 ear 库文件夹中。它似乎在 wam-config.jar 中找到 persistence.xml,但找不到(或无法使用)wam-1.0.0.jar。有人知道我哪里出错了吗?

编辑:每个请求发布完整的堆栈跟踪。对于那个很抱歉!

0 投票
0 回答
1160 浏览

spring - 跨多个 WARS 和 @Persistence 上下文线程安全的 Spring JPA 和共享实体管理器

我阅读了关于Persistence Context但无法清楚了解我的疑问的以下内容。
1. 我有一个 DAO 类,作为@PersistenceContext(unitName="") private EntityManager entityManager我的 Service 方法,我使用 @Transactional(propagation = Propagation.REQUIRED) 启动事务(Spring Managed)。我知道每次调用此 Service 方法时,都会启动一个事务,当它到达 DAO 类时,它将使用相同的事务,但对于每个 EntityManager 操作,它都会查找 Active PersistenceContext 并根据需要创建它。这种方法是否正确且线程安全?那么,如果一个新线程启动同一个服务方法,那么一个新的事务和一个持久性上下文将被创建并在方法结束时被清除?
2. 我有多个需要与数据库交互的 WARS,所以我使用 Spring Shared 上下文共享 EntityManagerFactory。我在一个共同的地方拥有所有与 Hibernate 相关的配置,并且在每个 WAR 中我都指定了 transactionManager 的共享位置。这样对吗?
请澄清我的疑问,您的意见很有价值。提前致谢。