簡體   English   中英

從Persistence API使用EntityManagerFactory

[英]Using EntityManagerFactory from Persistence API

我想在jee環境中從Persistence接口獲取EntityManagerFactory實例..但規范鏈接為: https : //docs.oracle.com/javaee/7/api/javax/persistence/Persistence.html

陳述以下

Persistence類在Java EE容器環境中也可用。 但是,在容器環境中不需要支持Java SE自舉API。

這是否意味着我們不應該在Java EE環境中不使用Persistence.createEntityManagerFactory?

注意:我已經在WAS 8.5.5和JBOSS EAP 7上進行了測試,並且能夠成功獲取EntityManagerFactory並執行數據庫持久性。 我想知道容器是否按照規范會停止對此API的支持?

如果我正確理解了您的評論,那么您的問題是數據源在某種程度上是動態的,因此您想使用引導API創建EntityManagerFactory,而不是通過persistence.xml以“ EE方式”配置它。

您的數據源到底有多動態? 您正在運行哪個EE容器? 您可能能夠在容器配置中(即在服務器上)配置數據源,並讓您的實體管理工廠由容器創建或通過JNDI自動選擇數據源。

在以前的雇主中,我們運行Wildfly,然后在每台服務器上以wildfly配置配置數據源,讓wildfly在標准位置提供數據源,以便休眠模式來獲取和構造EMF。

有關類似設置的示例,請參見https://stackoverflow.com/a/41550908/691074

這使我們能夠在連接到不同數據庫(即測試,生產等)的不同服務器上運行相同的代碼。

默認的wildfly配置已經配置了內存中的H2數據庫,您可以對其進行修改以指向正確的方向。

是有關數據源配置的Wildfly 10文檔, 是對persistence.xml的解釋,並提供了引用由容器管理的數據源的示例。

這對您的情況有用嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM