Page History
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를 통해 테이블을 정의할때 몇가지 규칙이 있습니다.
항목 | DB | JPA객체 | 설명 |
---|---|---|---|
Table(Class) | sample_table | SampleTable | 헝가리 표기법을따름 |
Field(member) | samplename | sampleName | 카멜표기법을 따름 |
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의 정보를 읽거나 변경을 하였습니다.
...