问题标签 [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.
spring - JPA+hibernate+spring,同一个数据库中的2个单独的表
我正在尝试编写一个单页应用程序,它将当前用户保存到数据库表(HSQL)中,并将“故事”列表(只有 1 个衬里)保存到单独的表中(在同一个数据库中)
我有 2 个 POJO,用户和故事。然后是 2 个 dto、2 个存储库等,但我正在努力弄清楚如何将这些保存到 2 个表中......
基本上我需要知道我是否需要 2 个持久性单元和 2 个 entityManagerFactory's ,即使我希望写入单个数据库,但要写入 2 个表......从环顾四周似乎就是这种情况,但部分问题是我对一些术语感到非常困惑。
关于多个表有很多问题,但它们似乎总是在不同的数据源中。在这种情况下,数据源只是表吗?即持久化到相同的数据库但不同的表(又名数据源) 如果不是,“数据源”和“数据库”在这种情况下是否可以互换?
谢谢。
hibernate - 由于 IntelliJ 中的单独模块导致休眠映射错误?
使用多个具有独立 Hibernate 实例的模块
我正在创建一个多模块 maven 项目,其模块 ModuleA 和 ModuleB 在父级下方。
Hibernate 抛出一个 MappingException
这些模块使用自己的 Hibernate 映射和自己的资源文件夹。每个模块都独立于其他模块保存其对象。现在,当我尝试从模块 A 中的模块 B 实例化一个类时,我可以访问所有必需的方法,但是当我执行应用程序时,Hibernate 会抛出此错误:
我可以将ModuleB中的类的映射另外添加到Module A的Hibernate配置文件中。然后它就可以工作了。但这不是它应该如何工作的,因为每个模块都应该是独立的。理论上它可以存储在完全不同的 RDBMS 中。
更多背景
本来我只用了一个模块,它把它拆分了,想让它更杂乱无章。我执行 mvn clean 并从头开始编译所有内容。
此外,来自模块 A 的 pom.xml 依赖于模块 B。
解决方案
正如@Skizzo 所建议的,我只是重命名了每个模块的配置文件。最初,每个模块都包含一个名为hibernate.cfg.xml
. 我在两个模块中重命名了这些配置文件。现在调用 ModuleAhibernate.moduleA.cfg.xml
的配置文件,现在调用 ModuleB 的配置文件hibernate.moduleB.cfg.xml
每个模块还包含一个用于初始化会话工厂的 HibernateUtil.java 类。我还为每个模块重命名了 HibernateUtil 类。现在调用 ModuleA 的 Util 类,HibernateUtilModuleA
而调用 ModuleB 的 Util 类HibernateUtilModuleB
。现在这两种可能的配置之间没有混淆,Hibernate 现在知道为每个模块选择哪种配置。
然后我调整了两个 HibernateUtil 类来加载单独的配置文件,如下所示:
HibernateUtilModuleA:
HibernateUtilModuleB:
ModuleA 的 HibernateUtil 类现在大致如下所示:
hibernate - 无法在 Jelastic 环境中构建实体管理器工厂
我有一个在 localhost 上工作的 web 应用程序,但是当我在 Tomcat 8 + Java 8 + Postgres 9.3 Jelastic Enviroment 上部署时,尝试访问数据库时出现以下异常:
这是我的persistence.xml:
欢迎任何帮助,我真的被困在这里
spring - Spring - 两个具有不同 JPA 提供程序的持久性单元
是否可以有两个持久性单元,一个使用 Hibernate 处理某些实体,另一个使用 EclipseLink 处理 Spring 框架中的其他实体?
java - UCanAccess 连接上的“无效授权规范”错误
我遇到了 UCanAccess 驱动程序的问题,即当我尝试使用以下代码连接到数据库时
我遇到以下错误:
数据库也作为持久性单元连接,但是由于我不知道有任何方法可以从代码中使用它(谷歌没有帮助),这种方法似乎是我唯一的选择。
datasource - Wildfly 8.2.0.Final:由于示例数据源或 persistence.xml 导致配置错误?
我在 persistence.xml 中配置了三个数据源:
第一个是“默认”单位。它由标准实体管理器使用。在 Java EE 环境之外运行 JUnit 测试需要第二个。第三个用于记录独立于 JTA 事务。
这行得通。但是当我启动 Wildfly 时,我什至得到了其中一些错误(尽管我的应用程序中没有使用 H2):
它仅在部署应用程序时发生。
这个想法是通过管理控制台或在standalone.xml中禁用或删除ExampleDS,但是当我这样做时,我得到一个错误的启动:
这到底是怎么回事?为什么这个persistence.xml 需要exampleDS?持久性单元是否RESOURCE_LOCAL
配置错误?(但如果是这样,那么它们为什么会起作用)。那么这里有什么问题呢?
[更新]我发现当我从持久性单元中删除属性
时,我没有收到启动错误(启用了 exampleDS) 。但这让我很恼火,我必须让 Wildfly 的 exampleDS 启用。否则,Wildfly 不会像上面描述的那样启动应用程序。为什么会这样。这里有什么问题?hibernate.hbm2ddl.auto
RESOURCE_LOCAL
java - PostgreSQL 模式的单独持久性上下文
我想在同一个数据库但不同的模式中有一个单独的持久性上下文。我使用 Eclipselink 作为 JPA 实现,数据库是 PostgreSQL。
数据库应包含 2 个模式:
请您指导我如何在persistence.xml 中的一个DBS 中为每个模式声明一个持久性单元?
我现在有:
持久性.xml:
所以我想做:
jpa - Tomcat JPA PersistenceUnit JNDI 名称
我开发了一个 JPA 项目以部署到我的 Tomcat8 实例中。
然后我需要通过 JNDI 上下文查找来查找我的 PersistenceUnit EntityManagerFactory。我知道使用 JBoss Wildfly 可以使用:
允许我通过标准 JNDI 查找方法查找 EntityManagerFactory 的属性。
Tomcat服务器是否有类似的属性?
java - 在 JavaSE 中使用 PersistenceContext
我想在我的模型项目中调用 BookDAO,它使用注释 @PersistenceContext。因为我在 Java SE 项目中工作,所以注解不起作用。是否有可能保留我的 Web 应用程序的注释并在 Java SE 项目中也使用此类?
我的书库:
我听说可以注入构造函数,但我还没有找到解决方案
亲切的问候
jpa - 非引用的持久性单元初始化抛出 DuplicateServiceException:__FIRST_PHASE__ 已注册?
我在 Wildfly 8.1 中部署了多个战争和耳朵。最近我将一些代码从 hibernate 迁移到 jpa 中的一个 jar 中,它在耳朵和战争之间共享。所以这就是它的方式
现在,yy.ear 也有它的 persistence.xml(引用 ds2、ds3 和 ds4),myjpa.jar 也是如此(仅引用 ds1)。但是在部署过程中看到的错误是说 xx.war 正在尝试重新初始化 ds4。我检查了所有源代码,但在 xx.war 或 myjpa.jar 中没有看到对 ds4 的引用。那么如何修复这个部署错误呢?下面的服务器日志..
还要添加 yy.ear 得到正确部署,但 xx.war 没有。