Lined Notebook

Spring JPA 를 사용하는 이유

by seonman.kim

서론

Spring Boot 를 사용하면 대부분 Spring JPA 를 이용하여 데이터베이스를 접근한다.

왜 마이바티스나 Spring JDBC 를 사용하지 않고 JPA를 사용하는 것일까?

 

기존 코드의 문제점

try(Connection connection = DriverManager.getConnection(url, username, password)) {
    System.out.println("Connection created: " + connection);
    String sql = "INSERT INTO ACCOUNT VALUES(1, 'keesun', 'pass');";
    try(PreparedStatement statement = connection.prepareStatement(sql)) {
        statement.execute();
    }
}
  1. 쿼리문을 사용하기 위해 미리 테이블을 생성해야 한다.
  2. 쿼리문을 통해 데이터를 가져온 후 자바 객체로 바꾸기 위한 매핑 코드를 새로 작성해야 한다.
  3. 커넥션풀을 관리해야 한다.
  4. 쿼리문을 실행하기 위한 설정하는 비용이 비싸다.
  5. 쿼리문이 데이터베이스마다 다르다.
  6. 스키마를 바꾸면 바꿔야 할 코드의 양이 많다.
  7. 쿼리를 실행하기 위한 반복적인 코드가 많다.
  8. 당장 불필요한 필드의 내용까지 읽어와야 한다.

블로그의 정보

만선's 개발 블로그

seonman.kim

활동하기