SQL Mapper and ORM
SQL Mapper 란?
객체로 SQL 쿼리를 할 수 있으며, 객체의 값을 쿼리문에 바인딩 가능하다. (예: 객체의 id 값을, 쿼리 where 절에 바인딩)
쿼리의 결과 값을 객체에 맵핑 할 수 있다.
ORM (Object Relational Mapping)
말 그대로, 객체를 관계형 데이터베이스의 테이블과 직접 맵핑함.
다시 말해 객체를 테이블로 만들고, 객체의 값 변경 시 테이블의 값도 같이 변경 됨.
쿼리를 동적으로 생성함. (우리는 객체에 상태에 따라 쿼리를 다르게 만들어야 하기 때문)
둘의 차이점
SQL Mapper는 개발자가 직접 쿼리문 작성해야함.
당연히 DB가 바뀌어도 직접 다 바꿔야함.
직접 치다보니 복잡한 쿼리문은 더 편하다고 하지만 ORM 기술 중 JPA 도 해당 기능 제공함
ORM 은 SQL 안쳐도 됨. (아예 안치는건 아님, 복잡한건 쳐야된다고 들음)
당연히 DB가 바뀌어도 해당 DB 에 맞게 쿼리문 작성함.
ORM 대표기술
JPA, 하이버네이트, 이클립스 링크 등이 있음
JPA 는 자바 진영의 ORM 표준 인터페이스임
JPA 구현체 중에서 하이버네이트와 이클립스링크 등이 있음

#중요
결국 뭐가 됐던 내부에선 JDBC 를 다 사용함.
그렇기 때문에 백엔드 개발자라면 무조건 JDBC를 잘 알아야함.
Last updated