Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip

JPA의 컨셉은 Java Persistence API 의 약자로 데이터 베이스에 존재하는 모델을

자바객체로 맵핑하는데 목적이 있습니다. DB는 종속적이지 않게 여러가지 DB 선택이가능하며

여기서는 단지 MYSQL을 통해 실습이 진행됩니다.


설명을 위해, 축약된 코드로 설명을 하였으며, 풀소스는 아래에서 확인가능합니다.

CodeLink : http://git.webnori.com/projects/WEBF/repos/spring_jpa/browse

JPA 개념 추가설명 : http://blog.woniper.net/255


Table of Contents

접속 DB 설정

...

네이밍룰

JPA에서 class를 통해 테이블을 정의할때 몇가지 규칙이 있습니다.

항목DBJPA객체설명
Table(Class)sample_tableSampleTable헝가리 표기법을따름
Field(member)samplenamesampleName카멜표기법을 따름




db가 설치된 os에따라 대소문자를 구분하는 경우가 있기때문에

JPA가 핸들링하는 DB에서의 네이밍은 모두 소문자로 셋팅이됩니다.

만약 네이밍규칙을 다르게하고싶으면, Class명 혹은 필드명 바로위에 아래와같은 어노테이션을 사용합니다.

  • @Table(name=”SAMPLE_TABLE”)
  • @Column(name = “COLUMN_NAME”,nullable=false) 


전역 네이밍룰을 변경하고싶으면

application.properties:


...

  • spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy
  • spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

접속 DB 설정

No Format
# application.properties
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/spring
spring.datasource.username=test
spring.datasource.password=test1234

...

실제 DataBase에서는 위와같은 테이블이, 어플리케이션 시작시 자동 생성됩니다.

JPA에서 class를 통해 테이블을 정의할때 몇가지 규칙이 있습니다.

...

.

...



CRUD 저장소생성

 전통적인 DataBase를 통한 개발방법은,  SQL을 직접이용하거나, 주로 SP를 이용하여 Table의 정보를 읽거나 변경을 하였습니다.

...