2014-06-13 22 views
0

我是Java和JBoss和JDeveloper的新手。我的遺留項目有這個persistence.xml文件:EJB中persistence.xml中的值是什麼意思?

<persistence-unit name="DoDSRMGR"> 
    <jta-data-source>java:/DoDSRDS</jta-data-source> 
    <class>dodsr.ManifestsPass1</class> 
    <class>dodsr.model.ManifestsPass2</class> 
     <properties> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
     <property name="javax.persistence.jtaDataSource" value="java:/DoDSRDS"/> 
     </properties> 
     </persistence-unit> 
    </persistence> 

我的問題是文件中的值是什麼意思,它們是什麼意思?另外,這個文件在EAR文件META-INF或JAR文件META-INF中屬於哪裏? name =「DoDSRMGR」指定的意義是什麼,當我從Java程序調用時它是這個bean的名稱,還是它是應用程序名稱?還有什麼是「java:/ DoDSRDS」呢?

這是從桌面應用程序調用bean的方式: (DodsrUserSessionEJB)ctx.lookup(「/ dodsr /」+ ejbName +「/ remote」);

+0

您有具體的問題,或者我想知道您想要解釋哪條線? – hd1

+0

@ hd1如果你能讀懂我的想法,那將是美妙的,但是,那麼你可能會迷失在那裏。無論如何,編輯的問題.. –

+0

http://docs.oracle.com/javaee/7/tutorial/doc/persistence-intro003.htm –

回答

1

<persistence-unit name="DoDSRMGR">此行允許您爲持久單元命名。

EntityManager eMgr = Persistence.createEntityManagerFactory("Your persistence unit name").createEntityManager(); 

一個EntityManager是幫助你選擇,堅持,更新和/刪除您的JPA實體到數據庫中的對象:當你想用這種方式來實例化一個EntityManager您使用永久單位名稱。

<jta-data-source>java:/DoDSRDS</jta-data-source>這一行告訴你如何管理持久性事務(持久化,更新和刪除實體)。如果您沒有指定此行,則每次要持續更新或從數據庫中刪除實體時,都必須首先獲取事務實例,並在持續/更新/刪除實體之後調用begin(),然後調用commit()方法。

由於您的XML中已經有了jta-data-source元素,因此您無需手動調用begin()commit()方法。您的應用程序服務器通過由值"java:/DoDSRDS"

標識的事務資源來管理事務性此XML文件可以放置在META-INF或WEB-INF文件夾中。

+0

謝謝!這對我來說很重要,尤其是因爲我對整個世界都很陌生,現在我要接受了,現在我有另一個問題要發佈,希望你能看看並幫助我 - 這是我們在JBoss時得到的錯誤7試圖啓動這個bean文件。 –