본문 바로가기

개발중/Spring

JPA 공부하기

728x90
반응형

🔻 JPA 공부하기


✅ JPA

- Java Persistence API
-  ORM을 사용하기 위한 인터페이스를 모아둔 것
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
- 자바 진영의 ORM 기술 표준


 ORM


- Object-relational mapping(객체 관계 매핑)
- 객체는 객체대로 설계
- 관계형 데이터베이스는 관계형 데이터베이스대로 설계
- ORM 프레임워크가 중간에서 매핑
- 객체를 ORM 프레임워크에 저장하면, ORM 프레임워크가 SQL을 생성해서 객체를 DB에 관리
- 대중적인 언어에는 대부분 ORM 기술이 존재


 JPA를 사용하는 이유

 

- SQL 중심적인 개발에서 객체 중심으로 개발
- 개발 생산성 향상
- 유지보수 편의
- 패러다임의 불일치 해결
- 성능 향상
- 데이터 접근 추상화와 벤더 독립성
- 자바 ORM 표준 기술


💬 아무 어노테이션 기록 .. 

 

@Entity JPA가 관리하는 클래스이고, 테이블과 매핑할 테이블은 해당 어노테이션을 붙인다.
 

@id 를 사용하여 기본키(PK)로 지정

 

자동으로 생성되도록 하기위해 @GeneratedValue를 사용

findBy뒤에 컬럼명을 붙여주면 이를 이용한 검색이 가능하다

 

- @Entity(name ="")의 경우 말그대로 엔티티의 이름을 정할때 사용됩니다. 이는 HQL에서 엔티티를 식별할 이름을 정합니다.
- @Table(name ="")의 경우 Database에 생성될 table의 이름을 지정할때 사용됩니다.
- @Table이 없고 @Entity(name ="")만 존재하는 경우, @Entity의 name 속성에 의해, Entity와 Table 이름이 모두 결정됩니다.


참고 사이트 1


 

728x90
반응형