Что означают значения в файле persistence.xml в EJB?
Я новичок в Java и JBoss и JDeveloper. Мой старый проект имеет этот файл 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", это имя bean-компонента при вызове из программы Java или имя приложения? Также, что делает "java:/DoDSRDS"?
Это способ вызова бина из настольного приложения: ( DodsrUserSessionEJB) ctx.lookup("/dodsr/"+ejbName+"/remote");
1 ответ
<persistence-unit name="DoDSRMGR">
Эта строка позволяет вам присвоить имя единице персистентности. Вы используете постоянное имя модуля, когда хотите создать экземпляр EntityManager следующим образом:
EntityManager eMgr = Persistence.createEntityManagerFactory("Your persistence unit name").createEntityManager();
EntityManager - это объект, который помогает вам выбирать, сохранять, обновлять и удалять ваши объекты JPA из / в базу данных.
<jta-data-source>java:/DoDSRDS</jta-data-source>
Эта строка рассказывает, как вы собираетесь управлять постоянными транзакциями (сохранять, обновлять и удалять объекты). Если вы не укажете эту строку, каждый раз, когда вы хотите сохранить, обновить или удалить объект из базы данных, вы должны сначала получить экземпляр транзакции и вызвать begin()
после того, как вы сохраните / обновите / удалите свою сущность, и после этого вы вызываете commit()
метод.
Поскольку у вас уже есть элемент jta-data-source в вашем XML, вам не нужно вручную вызывать begin()
а также commit()
методы. Ваш сервер приложений управляет транзакцией через ресурс транзакции, который определяется значением "java:/DoDSRDS"
Этот XML-файл может быть помещен в папку META-INF или WEB-INF.