헝D의 일기장

ORM(Object Relational Mapping) : 객체와 관계형 데이터베이스 매핑하는 기술. 

JPA (Java Persistence API): 자바 ORM 기술에 대한 API 표준. 즉 인터페이스

-장점: 특정 데이터베이스에 종속되지 않고, 객체지향적 프로그래밍을 가능하게 해주며, 생산성 향상.

-단점:

1.복잡한 쿼리 사용시에는 sql 사용하는게 나을 수 있음. native sql을 통해서 기존 sql 사용할수는 있지만 특정 디비에 종속되는 단점이 생겨서 JPQL을 지원함.

2.성능 저하 위험: 객체간 매핑 설계 잘못했을경우. 자동으로 생성되는 쿼리 많아서.

 

Hibernate: JPA 인터페이스를 구현한 가장 대표적 오픈소스. 

 

JPA 동작방식

한개의 Entity Manage Factory  --create--> 다수의 Entity Manager 인스턴스 --operation-->  Entity(Persistence Context)

Entity: DB 테이블에 대응하는 클래스. 클래스에 @Entity 붙여서 사용.

Entity Manager Factory: Entity Manager 인스턴스를 관리. 어플리케이션 실행시 하나만 만들어지고 사용자 요청시 엔티티 매니저를 생성

Entity Manager: 영속성 컨텍스트(엔티티를 영구 저장하는 환경) 접근하여 엔티티에 대한 db 작업 제공.

ㄴ find(), persist(), remove(), flush() 메소드 등...

profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!