基本編(2)-JPAを起動


JPAの設定

  • JPAプロファイル
    - resources/META-INF/persistence.xml位置
    -persistence-unit name名前、emf呼び出し時に
  • を使用
    <?xml version="1.0" encoding="UTF-8"?> 
    <persistence version="2.2" 
     xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> 
     <persistence-unit name="hello"> 
     <properties> 
     <!-- 필수 속성 --> 
     <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> 
     <property name="javax.persistence.jdbc.user" value="sa"/> 
     <property name="javax.persistence.jdbc.password" value=""/> 
     <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> 
     
     <!-- 옵션 --> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.format_sql" value="true"/> 
     <property name="hibernate.use_sql_comments" value="true"/> 
     <!--<property name="hibernate.hbm2ddl.auto" value="create" />--> 
     </properties> 
     </persistence-unit> 
    </persistence>
  • データベース方言-Dialect
    各データベースで提供されるSQL構文と関数は少し異なります.
  • hibernateは40種類以上のデータベース方言をサポートしています.
    hibernate.方言のプロパティ

    JPAドライバ

    public class JpaMain {
    
        public static void main(String[] args) {
            EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
    
            EntityManager em = emf.createEntityManager();
            EntityTransaction tx = em.getTransaction();
        }
    }

  • META-INF/persistence.xmlで構成情報をクエリーします.

  • 設定情報に基づいてEntityManagerFactoryを作成します.

  • factoryを使用してEntity Managerを作成し、データベースを管理します.
  • 注意事項
    •1つのエンティティーマネージャファクトリのみを作成し、アプリケーション全体で共有します.
    •エンティティーマネージャは、スレッド間でX(使用と破棄)を共有します.
    •JPAでのすべてのデータ変更は、トランザクションで行われます.