JDBC VS JPA
ORM이란?Object Relational Mapping(객체 관계 매핑)객체와 관계형 데이터베이스의 데이터를 매핑시켜주는 도구이다. 우리는 왜 ORM 을 사용하게 되었는가? 그 이유는 JDBC를 사용할때로 돌아가야한다.
우리는 JDBC API를 이용하여 쿼리를 날리고 DB로부터 결과를 반환받아 사용해왔다. 하지만 자바 어플리케이션이 직접적으로 JDBC API를 활용하여 DB 데이터를 조작하고, 객체 모델과 관계형 모델간의 불일치가 존재하게 되었다. 특히, 스프링 프로젝트에서 중요한 의존성 부분에서 느슨한 결합이 아닌 직접적인 결합으로 의존성이 커지게 된다. 우리는 직접적으로 접근하지 않고 간접적으로 데이터베이스 데이터를 다루기 위해 ORM을 활용하게 되었다.JPA를 활용한다면 JDBC API가 사용하는 지루하고 반복전 일들 (쿼리문 작성이라던지) 을 JPA가 대신 처리해주고 JPA를 자바 컬렉션에 객체를 저장하듯이 JPA에게 저장할 객체를 전달한다.
JPA는 자바 어플리케이션 내부에서 존재하지만 JPA가 JDBC API를 감싸고있기 때문에 정작 통신하는 것은 JDBC API가 해주고 자바 애플리케이션은 JPA로 DB와 간접적으로 연결되어질 수 있다. 그래서 비즈니스 로직에서 자바로 처리 하면 JPA가 자동으로 SQL문을 작성해주고 Entity를 분석하고 객체 모델과 관계형 모델간의 불일치를 해결할 수 있게 되었다.
댓글