ORM Framework

ORM Framework

ORM(Object Relational Mapping)이란 데이터베이스를 보다 더 객체 지향적으로 사용하기 위한 개념이다. 정도의 차이 때문에 문법이 달라질 수 있으나 본질은 같다.

ORM 개념을 시스템화하여 만든 체계적인 도구를 ORM Framework라 한다.

myBatis

myBatis는 SQL 처리와 설정, 고급 매핑을 지원하는 프레임워크이다. 국내의 자바 및 스프링 진영에서 가장 널리 사용한다.

사용하는 데이터베이스의 SQL 구문을 알아야 한다.

SQL 예시(ORACLE)

<mapper namespace="board">
    <select id="list" parameterType="map" resultType="BoardEntity">
        SELECT * FROM BOARD
        <if test="type != null and keyword != null">
        WHERE INSTR(${type}, #{keyword}) > 0
        </if>
    </select>
</mapper>

Hibernate

JPA

Java SE, Java EE에서 관계형 데이터베이스의 관리를 위해 설계된 표준 API이다.

JPA의 스펙을 구현한 구현체들이 존재하며 이를 이용하여 표준화된 데이터베이스 관리가 가능하다. JPQL(Java Persistence Query Language)이라는 별도의 관계형 쿼리를 사용하여 데이터베이스 작업을 처리하며, 클래스를 엔티티(Entity)로 처리하는 방법에 대해서도 정의한다. 데이터베이스 Native SQL에 대한 의존도를 없에는 방향으로 발전하고 있다. 2019년부터 Java Persistence API 에서 Jakarta Persistence로 명칭이 변경되었다.

Spring에서는 Spring Data JPA를 통해 Spring에서 JPA를 쉽게 사용할 수 있도록 돕는다.

Last updated