Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kumuluzee JPA持久性单元外部的持久性设置_Jpa_Persistence_Programmatically_Kumuluzee - Fatal编程技术网

Kumuluzee JPA持久性单元外部的持久性设置

Kumuluzee JPA持久性单元外部的持久性设置,jpa,persistence,programmatically,kumuluzee,Jpa,Persistence,Programmatically,Kumuluzee,我们正在尝试配置 我们希望以编程方式定制持久性单元,为此,我们需要一个PersistenceUnit属性的句柄。这已经预先打包在kumuluz jpa依赖项中,我们显然无法在运行时获得属性的句柄 有没有人遇到过必须在运行时设置属性的问题?您可以分享您的方法吗?您无法在运行时访问persistence.xml配置,这样做也没有任何意义,因为persistence.xml仅在应用程序启动的一开始由JPA提供商读取 但是,您可以在构建时使用maven配置配置persistence.xml,方法是使用。

我们正在尝试配置

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


有没有人遇到过必须在运行时设置属性的问题?您可以分享您的方法吗?

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

但是,您可以在构建时使用maven配置配置persistence.xml,方法是使用。例如:

pom.xml:


...
创造
...
src/main/resources
...
persistence.xml:


jdbc/CustomersDS
com.kumuluz.ee.samples.jpa.Customer

问题在于裁剪PU属性,而不是持久性单元结构本身。如果查看kumuluz的JPA组件,代码的编写方式允许我们读取仅在XML中的属性。我们需要根据某些条件以编程方式更改这些。在创建EntityManager时,可以通过裁剪这些属性来修改JPA行为。例如,如果实体管理器需要在一次调用中创建表,而在另一次调用中只创建db脚本,该怎么办?比如:。@VenkataRahulSatuluri答案完全是关于PU属性,而不仅仅是持久性单元构成。它们不能在运行时更改。听起来好像你有一个架构问题,你正试图用一个工具来解决它,而不是解决它。试着问一个更广泛的问题。谢谢。问题不在于启动EM后在运行时进行更改,而是在实例化EM之前设置其属性。在某些情况下,我们希望使用特定设置(如自定义会话管理器或其他记录器)创建实体管理器。还感谢您对我们的体系结构问题的评论。