티스토리 뷰
1. JPA (Java Persistent API)와 ORM (Object Relational Mapping)
1) JPA
- 자바 ORM 기술에 대한 API 표준 명세를 의미합니다.
- ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink,
DataNucleus 같은 ORM 프레임워크를 사용해야 합니다.
2) ORM
- 객체와 DB의 테이블이 매핑을 이루는 것을 말합니다. 즉 객체가 테이블이 되도록 매핑 시켜주는 것을 말합니다.
- ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있습니다.
- 예를들자면, Member라는 이름을 가진 테이블의 데이터를 출력하기 위해서 보통 Select * from Member; 라는 쿼
리를 실행해야 하지만, ORM을 사용하면 Member 테이블과 매핑된 객체를 callMember 라고 할때,
callMember.findAll() 라는 메서드 호출로 데이터 조회가 가능합니다.
- Query를 직접 작성하지 않고 메서드 호출만으로 Query가 수행되다 보니, ORM을 사용하면 생산성이 매우 높아집
니다. 하지만 Query가 복잡해지면 ORM으로 표현하는데는 한계가 있고, 성능이 raw query에 비해 느리다는 단점
이 있습니다.
2. Mybatis vs Hibernate
- JPA를 구현할 수 있는 여러 프레임워크가 존재하지만 주로 Hibernate가 JPA를 주도하고 있습니다.
- 동아시아를 제외하고 대부분 나라에서는 Hibernate를 압도적으로 많이 사용합니다.
'프로그래밍언어 > 자바. 스프링' 카테고리의 다른 글
[Java] isBlank(), isEmpty(), isNull() (0) | 2024.01.26 |
---|---|
[자바] Tomcat 구조 및 server.xml과 context.xml의 차이 (0) | 2021.01.27 |
[Spring] servlet-context.xml, root-context.xml, web.xml의 차이 (0) | 2020.06.05 |
[Java] Web서버와 Was서버의 차이. (0) | 2020.06.04 |
[Spring] 추상클래스와 interface (0) | 2020.05.22 |