JPA(Java Persistence API)는 객체와 관계형 데이터베이스 간의 매핑을 처리하고, SQL 작성을 대신하여 데이터를 저장, 조회, 수정, 삭제하는 기능을 제공합니다. 이로써 개발자는 SQL을 직접 작성하지 않고도 객체와 데이터베이스 간의 작업을 쉽게 수행할 수 있습니다. 아래에서 JPA가 제공하는 주요 CRUD 기능을 간략히 정리합니다.
1. 저장 기능
jpa.persist(member);
- persist() 메서드는 객체를 데이터베이스에 저장하는 기능을 제공합니다.
- 개발자가 직접 SQL을 작성하지 않아도 JPA가 객체와 매핑된 정보를 기반으로 자동으로 INSERT SQL을 생성하고 실행합니다.
2. 조회 기능
Member member = jpa.find(Member.class, memberId);
- find() 메서드는 특정 객체를 데이터베이스에서 조회하는 기능을 수행합니다.
- JPA는 객체와 매핑 정보를 보고 SELECT SQL을 생성하여 해당 객체를 반환합니다.
3. 수정 기능
Member member = jpa.find(Member.class, memberId);
member.setName("이름변경");
- JPA는 별도의 수정 메서드를 제공하지 않습니다. 대신 객체의 값을 변경한 후, 트랜잭션을 커밋할 때 자동으로 UPDATE SQL을 실행하여 변경 내용을 데이터베이스에 반영합니다.
4. 연관된 객체 조회
Team team = member.getTeam();
- 연관된 객체를 조회할 때는 JPA가 연관된 데이터를 사용하는 시점에 적절한 SELECT SQL을 실행합니다. 즉, JPA는 객체의 관계를 기반으로 필요한 시점에 자동으로 쿼리를 생성하여 데이터를 조회합니다.
5. 추가적인 기능
- JPA는 단순히 SQL을 대신 작성하는 것뿐만 아니라, 트랜잭션 관리와 객체 간의 관계를 처리하는 기능을 제공합니다.
- 예를 들어, 트랜잭션을 커밋할 때 객체의 변경 사항을 자동으로 데이터베이스에 반영하며, 객체 간의 연관 관계를 쉽게 처리할 수 있도록 지원합니다.
결론
JPA는 객체와 데이터베이스 간의 작업을 쉽게 처리해주며, CRUD 작업을 수행할 때 SQL을 대신 작성하여 개발자가 더욱 직관적이고 효율적으로 데이터를 관리할 수 있도록 돕습니다. JPA를 사용하면 저장, 조회, 수정, 삭제와 같은 작업을 간단한 API 호출로 처리할 수 있습니다.
'JPA Study' 카테고리의 다른 글
서브쿼리 (Subquery) (1) | 2024.09.23 |
---|---|
이너 조인(Inner Join)과 레프트 조인(Left Join) (0) | 2024.09.20 |
JPA 자동생성전략 3가지방법 ( IDENTITY, SEQUENCE, TABLE ) (2) | 2024.09.11 |
JDBC와 JPA의 관계 (0) | 2024.09.09 |
JPA(Java Persistence API) (1) | 2024.08.08 |