ORM은 오브젝트 릴레이션 매핑, 즉 DB 테이블을 자바 객체로 매핑하는것을 의미합니다.
장점으로, 생산성 및 유지보수 성능 향상과 DBMS에 종속적이지 않아 독립성이 강한 장점이 있습니다.
단점으로, 쿼리가 복잡할 때 ORM으로 표현하는데 한계가 있고, 연산 속도가 느립니다.
자바에서 사용하는 ORM 기술에 대한 API 표준 명세를 말합니다. ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 활용하기 위해선 Hibernate와 같은 ORM 프레임 워크를 사용해야 합니다.
하이버네이트는 SQL을 직접 사용하지 않고, 메서드 호출만으로 쿼리문을 실행할 수 있는 프레임워크 입니다. 따라서 생산성이 높은 장점을 갖습니다. 반면 연산이 복잡해지는 경우 하이버네이트로 표현하는데 한계가 있고, SQL문법을 직접 실행하는것에 비해 성능이 떨어지는 단점이 있습니다.
마이바티스는 RDB 베이스 프로그래밍을 좀 더 쉽게할 수 있게 도와주는 개발 프레임워크 입니다. jdbc의 단점인 재사용성이 낮은 점을 개선했으며, 개발자가 작성한 SQL 명령어와 자바 객체를 매핑하는 기능을 제공합니다. SQL 명령어는 자바 코드에서 분리해 XML 파일에 작성합니다.
마이바티스와 동일하며, 아파치 프로젝트에서 구글로 넘어가면서 마이바티스로 이름이 변경되었고, 요구사양이 변경 되었습니다.
자바에서 DB 프로그래밍을 하기 위해 사용되는 API를 말합니다. 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고받을 수 있게 해주는 프로그래밍 인터페이스 입니다. 주요 역할로 통역자의 역할을 담당하는데, 응용 프로그램과 DBMS간의 통신을 중간에서 번역해주는 역할을 말합니다.