问题标签 [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 投票
1 回答
992 浏览

jpa - java.lang.IllegalStateException:无法为 unitName CarLocPU 检索 EntityManagerFactory

我开始使用 NetBeans 8.1、Glassfish 4.1 和 Apache Derby(包含在 GlassFish 中)的 Java EE。

为此,我呼吁放置和存储汽车数据及其属性。

但是这个简单的外观总是返回“java.lang.IllegalStateException”,而我在我的 Class 文件中没有看到任何错误。

这是具有基本 getter 和 setter 的 model.car 的非常简单的实体:

这是该实体在 Apache Derby 中存储数据的“外观”:

我在调试以下异常时遇到了很多麻烦,因为它是非常简单的一小部分代码,一切都应该正常工作。此外,StackTrace 不像 Java SE 那样显示断点。

这是异常 StackTrace :

预先感谢您的帮助。

编辑 :

这是项目的结构。

在此处输入图像描述

这里是persistence.xml 内容,应用程序名为“CarLoc”。

0 投票
1 回答
1809 浏览

datasource - JBoss Wildfly 9 - 多个数据源和 PersistenceUnits

从 JBoss EAP 6.1 升级到 JBoss Wildfly 9 后,我遇到了多个 XA-Datasources 和相关 PersistenceUnits 的问题。我正在使用具有不同用户/模式的 Oracle 数据库。我配置了 2 个 XA 数据源,它们使用相同的连接 URL,但具有不同的用户名。

数据源 1

数据源 2

在 EJB 中,我使用定义的数据源配置了 2 个 EntityManger:

现在在我的 EJB 中调用 manager2.find(...) 时会发生错误。调试代码没有任何反应,几分钟后 TransactionReaper 显示在服务器日志文件中。我认为这是由于超时而发生的。
更改一个日期源 URL 时,例如用<host>IP 或第二个主机别名替换该部分,一切正常,没有任何问题。仅当两个数据源的 URL 相同时才会出现此问题。所以我怀疑是否存在一般配置问题。

有谁知道为什么会出现这个问题?如果您需要更多信息或配置,请告诉我。

persistence.xml 中的日期源定义

堆栈跟踪

0 投票
1 回答
71 浏览

hibernate - 什么决定了持久性单元

我正在创建一个 Java EE 应用程序并使用休眠设置我的持久性。因为我没有看到这个应用程序有那么大,所以我没有看到使用 EJB 的意义,所以我创建了一个 PersistenceUtil 类来管理我的 EntityManagerFactory。

像这样的东西:

因此,由于可以有多个持久单元,我可以在使用它们时延迟加载它们。

我以这种方式创建它是因为我知道可以有多个持久单元。我不明白并且似乎找不到答案的是什么会让我创建另一个持久单元?一件事是我假设的多个数据库,但还有其他划分点吗?

0 投票
1 回答
666 浏览

spring - Spring 4 Jpa Hibernate - 无法注入 EntityManager

我想我和很多人都有同样的问题,但在大多数情况下都没有解决。无论如何我都会尝试,希望你们能帮助我。

当我尝试使用 @persistenceContext 注释注入 que Entity Manager 并且始终为空时,问题出在我的存储库中。

堆栈:Spring 4.2.5 Spring Data 1.10.1 Hibernate 5

这是我用于 Sprint 数据的 xml:

这是我的应用程序 context.xml

这是我的存储库

这是我的persistence.xml

0 投票
1 回答
355 浏览

java - 使用 Spring 创建两个数据源

我正在尝试在我的 Spring 项目中添加两个数据源,但是,我收到了这个错误

这是我的相关部分dispatcher-servlet.xml

这是我的UserDAO.java

在Tomcat中,这是我的context.xml

最后,我的persistence.xml

我一直在寻找帮助,但没有任何进展。如何正确添加第二个数据源?我只用一个就可以了。

0 投票
0 回答
423 浏览

java - JPA-Eclipse 链接,使用没有的复合持久性单元

我需要使用两个不同的数据库,它们之间存在实体关系。我想让所有实体都在项目中,并使用复合持久性单元来管理哪个实体将存储在哪个数据库上。这可能吗?我发现只有一个复合持久性单元和复合持久性单元成员在不同罐子中的示例。如果我的想法不可行,我需要做什么,将持久性单元编译为 jar?我也需要放入这个 jar 实体类吗?这些实体之间的关系如何?

0 投票
1 回答
670 浏览

java - EAR 中未知的实体,在另一个 jar 中具有持久性单元

我有一个带有 WAR 模块、一些 EJB 模块和一些 JARS 的 EAR,例如:

我想使用resource.jar中的持久性单元,因此ejb模块独立于环境(我必须只记住PU名称,我可以更改resource.jar中数据源的jndi而不更改moduleEjb.jar),但是实体没有找到。

实体在 entity.jar 中:

持久性单元在 resource.jar 中

并且实体管理器在 EJB 内的 moduleEjb.jar 中使用:

即使我使用命名查询或 jpql,我也会收到错误消息

[14, 30] 抽象模式类型“TTracciatoKettle”是未知的。

[39, 47] 状态字段路径“t.codice”无法解析为有效类型。

持久化单元 myPU 被启动,并且加载脚本也被成功调用。如果我使用相同的 PU 但在 ejb 模块内,它可以工作

0 投票
1 回答
557 浏览

java - 春天。具有一个持久性单元的多个数据源

是否可以在 spring 中使用具有多个数据源的相同持久性单元?

例如。我有两个数据库。他们在不同的服务器上。一种仅用于写入操作(插入、更新、删除等),另一种仅用于读取操作。它们都使用相同的结构。那么我可以为它们都使用一个持久性单元吗?

我发现这个ReplicationDriver可以解决我的问题。我只定义了我的服务器和服务器,在代码方面我只定义了@Transaction(readOnly=true)。因此,当事务为readOnly=true时,管理器使用我的从属,其他情况根据连接器/j文档使用我的主控。现在使用这个tomcat时无法连接到我的数据库。我的意思是它只是等待什么都没有发生。这是我的 apache tomcat context.xml

这是我的spring context.xml

我怎么了?为什么tomcat无法连接到db?顺便使用eclipslink provider v2.4.0

更新

我不知道为什么,但是当我使用jdbc:mysql://address这种格式时,我的程序无法连接到数据库并给出以下异常

但是当使用jdbc:mysql://host1,host2格式连接成功。如果我们使用第二个版本,我应该为每个连接使用相同的用户名和密码,但第一个版本我们可以定义不同的用户名和密码。根据 MySQL 连接器 J 文档

以下是连接到 MySQL 服务器的 JDBC URL 的另一种格式,这对于 IPv6 连接是强制性的,但也可以与 IPv4 一起使用(方括号 ([ ]) 中的项目是可选的):

jdbc:mysql://address=(key1=value)[(key2=value)]...[,address=(key3=value)[(key4=value)]...]...[/[数据库]]» [?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]

这意味着这也适用于 IP4,但不起作用。有什么我想念我的配置的吗?

0 投票
1 回答
336 浏览

jboss - 如何在 JBoss AS 上使用带有持久性单元的 EJB 3?

我有一个 JBoss AS,在这个服务器上有一个standalone.xml 文件,其中有几个属性,还有我的数据源,所以如何将standalone.xml 文件中的数据源与我想添加到的持久性单元结合起来EJB ?

0 投票
1 回答
210 浏览

jpa - EclipseLink,将 Criteria api 与 Composite Persistence Unit 结合使用(可能与否)

我需要在我的应用程序中管理 2 个数据库。为此,我使用 EclipseLink Composite Persistence Unit 功能开发了一个示例应用程序。

然而,在我的测试过程中,我注意到一个奇怪的行为:
- 基本的 jpa 操作(持久化、合并、删除或 JPQL 代码)运行良好
- 但是当我使用标准 api 时,EclipseLink 向我返回以下错误:

这是我的示例代码(基本上是 2 个实体和一个 Junit 测试)

我的复合persistence.xml:

我的成员 persistence.xml,位于 sample-common-0.0.1-SNAPSHOT.jar:

我的实体也在 sample-common-0.0.1-SNAPSHOT.jar 上:

第三者:

地址实体:

最后是 JUnit 测试类:

testInsert、testSelectAll 和 testSelectById 运行良好,但 testSelectByCriteria 在我的帖子开头出现错误跟踪时崩溃。

在调试期间,我注意到 typeMap 在类上为空:
org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl在方法entityEmbeddableManagedTypeNotFound

有没有人遇到过这个问题,似乎托管实体不可见,因为地图

Map<String, EntityTypeImpl<?>> entities

是空的。

我尝试按照此过程jpa-metamodels-with-maven生成元模型类,但使用 Criteria 调用仍然失败。