JPA (Java Persistence API)
자바에서 객체와 관계형 데이터베이스 간의 매핑을 제공하는 표준 API로, 객체 지향적 접근을 통해 데이터베이스와 상호작용할 수 있게 해준다.
- 객체-관계 매핑(ORM): 자바 객체를 데이터베이스 테이블과 매핑하여, 데이터베이스 작업을 객체 지향적으로 처리할 수 있다.
- 엔티티(Entity): 데이터베이스의 테이블과 매핑되는 자바 클래스를 정의하며, 데이터베이스의 행을 객체로 표현한다.
- 쿼리 언어: JPQL(Java Persistence Query Language)을 사용하여 데이터베이스 쿼리를 작성하며, 객체 지향적으로 쿼리를 정의할 수 있다.
- 엔티티 관리: 영속성 컨텍스트를 통해 엔티티의 생명주기를 관리하며, 데이터베이스와의 동기화를 지원한다.
- 자동 생성: 스키마 생성 및 데이터베이스와의 동기화가 자동으로 처리되며, 설정을 통해 데이터베이스와의 상호작용을 쉽게 한다.
MyBatis
자바 애플리케이션에서 SQL 쿼리와 매핑을 수동으로 관리할 수 있게 해주는 퍼시스턴스 프레임워크로, SQL의 직접적인 제어를 허용한다.
- SQL 매핑: SQL 쿼리를 XML 파일이나 애너테이션을 통해 직접 작성하고, 매핑 규칙을 정의하여 데이터베이스와 상호작용한다.
- 동적 쿼리: 동적 SQL을 사용하여 복잡한 쿼리를 작성하고, 조건에 따라 SQL을 동적으로 생성할 수 있다.
- 객체 매핑: 결과를 자바 객체로 매핑하여, 데이터베이스 쿼리 결과를 애플리케이션 객체로 변환할 수 있다.
- 트랜잭션 관리: 트랜잭션 관리를 지원하며, 코드에서 직접 트랜잭션을 제어할 수 있다.
- 데이터베이스 독립성: 다양한 데이터베이스와 호환되며, 데이터베이스에 종속되지 않고 SQL을 직접 작성하여 유연한 제어가 가능하다.
'면접준비' 카테고리의 다른 글
MVC 모델 (0) | 2024.08.05 |
---|---|
Spring과 Spring Boot (0) | 2024.07.10 |
Maven과 Gradle (0) | 2024.07.10 |
@Controller, @RestController 차이 (0) | 2024.06.10 |
HashSet 자료구조 (0) | 2024.06.07 |