Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

JPA 시작, 프로젝트 세팅 본문

인프런/[인프런] 자바ORM 표준 JPA 프로그래밍

JPA 시작, 프로젝트 세팅

Seung__ 2021. 8. 7. 01:16

1. H2 DB 설치


 

H2 Datebase

1. H2 DB 설치 및 사용법은 이전 글 참고 H2 Database 설치 및 사용 법 2021.05.22 - [JPA] - H2 In-Memory DB H2 In-Memory DB 1. H2 DB 란? DB는 JAVA기반의 경량화된 관계형 DB file 로 저장하여 실제 DB처럼..

bsh-developer.tistory.com

  • 가벼움
  • 메모리DB
  • 웹용 쿼리 툴
  • MySQL, Oracle 시뮬레이션 가능
  • 시퀀스, Auto Increment 지원

 

2. 메이븐 사용


  • groupId : jpa-basic
  • artifactId: ex1-hello-jpa
  • version : 1.0.0

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jpa-basic</groupId>
    <artifactId>ex1-hello-jpa</artifactId>
    <version>1.0.0</version>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.32.Final</version>
        </dependency>
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.199</version>
        </dependency>
    </dependencies>
</project>

 

 

3. JPA 설정


  • JPA 설정 파일 : persistence.xml
  • 표준 위치 : /META-INF/persistence.xml
  • persistence version : JPA 버전
  • persistence-unit name으로 이름 지정 : JPA쓸건데 이름은 뭐로?
  • 필수 속성 필요 : DB 접근 정보필요,
    - javax.persistence로 시작: JPA 표준 속성
    - H2 DB JDBC Url :  "jdbc:h2:tcp://localhost/~/test"
    - hibernate로 시작: hiberanate 전용 속성
    - 데이터베이스 방언 : "hibernate.dialect"
    - DB바뀌면 hibernate설정 바꿔야함.

4. Dialect


  • JPA는 특정 데이터베이스에 종속 x
  • 각각의 데이터 베이스가 제공하는 SQL문법과 함수는 조금씩 다름
    - 가변문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2
    - 문자열 자르는 함수 : SQL 표준은 SUBSTRING(), Oracle은 SUBSTR()
    - 페이징 : MySQL은 LIMIT, Oracle은 ROWNUM
  • 방언(dialect) : SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능
  • 각 DB에 맞에 dialect 설정해야함.
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>

 

 

5. GitHub : Initial commit


 

GitHub - bsh6463/JPA

Contribute to bsh6463/JPA development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 자바ORM 표준 JPA 프로그래밍' 카테고리의 다른 글

플러시, 준영속 상태, 정리  (0) 2021.08.08
영속성 컨텍스트 2  (0) 2021.08.08
영속성 컨텍스트  (0) 2021.08.08
Hello JPA  (0) 2021.08.08
JPA?  (0) 2021.08.07
Comments