首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kumuluzee JPA持久性设置在持久性单元之外

Kumuluzee JPA持久性设置在持久性单元之外
EN

Stack Overflow用户
提问于 2020-11-05 16:56:18
回答 1查看 61关注 0票数 0

我们正在尝试配置Kumuluz JPA

我们希望以编程方式定制持久性单元,为此,我们需要PersistenceUnit属性上的句柄。这已经预先打包在kumuluz jpa依赖中,我们显然没有办法在运行时获得属性的句柄。

有没有人遇到过必须在运行时设置属性的相同问题?你能分享一下你的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-11-13 14:50:57

您不能在运行时访问persistence.xml配置,这样做也没有任何意义,因为persistence.xml仅在应用程序启动的最开始时由JPA提供者读取。

但是,您可以使用Maven Resources Plugin在构建时使用maven configuration配置persistence.xml。例如:

pom.xml:

代码语言:javascript
复制
<project>
  ...
  <properties>
    <db.action>create</db.action>
  </properties>
  ...
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>
  ...
</project>

persistence.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<persistence 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"
             version="2.1">
    <persistence-unit name="kumuluzee-samples-jpa" transaction-type="JTA">

        <jta-data-source>jdbc/CustomersDS</jta-data-source>

        <class>com.kumuluz.ee.samples.jpa.Customer</class>

        <properties>
            <property name="javax.persistence.schema-generation.database.action" value="${db.action}"/>
        </properties>
    </persistence-unit>
</persistence>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64693969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档