About JPA

JOHOONDAY·2023년 5월 5일
0

Framework

목록 보기
2/2
post-thumbnail

JPA (Java Persistent API)

  • Java 진영에서 ORM 기술 표준으로 사용되는 Interface 모음
  • JPA를 구현한 대표적인 Open source : Hibernate
  • 특정 DB에 종속적이지 않다.
    - Mysql을 사용 하다가 Oracle로 바꿔도 바뀌어야 한다.

META-INF/persistence.xml

  • JPA 설정파일

  • DB에 접근을 해야하기 때문에, DB의 정보를 넣어주게 된다.

  • 	<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"/>
                <!-- 위 dialect는, 사용하는 DB에 따라 바꾸면 된다. -->
    			<!-- 옵션 -->
    			<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>
        ```
    
  • Database 방언(Dialect)

    • hibernate.dialect 속성에 지정한다.
      • H2 : org.hibernate.dialect.H2Dialect
      • Oracle 10g : org.hibernate.dialect.Oracle10gDialect
      • MySQL : org.hibernate.dialect.MySQL5InnoDBDialect
    • Hibernate는 40가지 이상의 DB방언을 지원한다.
profile
ENTJ-T

0개의 댓글