About

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="org.strproject-ejb_1.0-SNAPSHOTPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/strdb</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>    
  </persistence-unit>
</persistence>
transaction-type="JTA" - для ee приложений.
transaction-type="RESOURCE_LOCAL" - для обычных приложений. В это случае можно указать :

<properties>
   <property name="javax.persistence.jdbc.url" 
value="jdbc:mysql://localhost:3306/strdb"/> <property name="javax.persistence.jdbc.password" value="******"/> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.user" value="root"/> </properties>

Пример persistence.xml для простейшего JPA проекта (EclipleLink , не EJB)

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xmlns="http://java.sun.com/xml/ns/persistence" 
xsi:schemalocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="PU_olga_catalog" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>com.str.catalog.models.Test</class>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.jdbc.url" 
value="jdbc:mysql://localhost:3306/olga_catalog"></property>
      <property name="javax.persistence.jdbc.password" value="******"></property>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver">
      <property name="javax.persistence.jdbc.user" value="olga_catalog"></property>
      <property name="eclipselink.ddl-generation" value="create-tables"></property>
    </property></properties>
  </persistence-unit>
</persistence>

Пример persistence.xml для простейшего JPA+EJB проекта (EclipleLink)
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/persistence" 
xsi:schemalocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="PU_olga_catalog" transaction-type="JTA">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
            <jta-data-source>jdbc/olga_catalog</jta-data-source>
            <class>com.str.catalog.model.Test</class>
            <exclude-unlisted-classes>false</exclude-unlisted-classes>
  </persistence-unit>
</persistence>

3 комментария:

  1. Здравствуйте! Подскажите начинающему в этой технологии: для чего служит файл "persistence.xml"?

    ОтветитьУдалить
  2. Здравствуйте. Конфигурация орм фреймворков, все в одном месте, удобно и лаконично. будь то хибенейт или эклипслинк, настройки аналогичные

    ОтветитьУдалить
  3. Привет из 2020-го года!
    Покажите, пожалуйста, пример файла "persistence.xml" для БД SQLite и платформы Intellij IDEA.

    ОтветитьУдалить