[英]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.