[Spring Boot] ORM이란

재피터노트북·2022년 10월 23일
0

ORM 이란?

ORM은 Object-Relation Mapping의 약자로, 애플리케이션의 클래스와 SQL 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 메타데이터를 사용하여, 자바 어플리케이션의 객체 SQL 데이터베이스의 테이블에 자동으로 영속화 해주는 기술.

장 단점

  • 장점

    • 생산성
      • 쉽고 빠르게 매핑 정보만 정의만 하면 데이터를 다루는게 빠름.
    • 유지보수성
      • 코드가 간결. 코드에 로직만 보이게 됨.
    • 성능
      • 하이버네이트가 만드는 쿼리문이 우리가 직접 작성한 쿼리보다 느릴 수 있음. 하지만 하이버네이트에서는 성능 최적화를 위한 여러가지 기능을 제공함. 예를 들어, 캐시가 있음. 불필요한 쿼리를 매번 사용해 데이터를 불러내지 않고 한 번 불러낸 데이터를 캐시에 저장해 이후에 데이터가 필요할 때 캐시에 저장된 데이터를 내보내기 때문에 빠름.
    • 벤더 독립성
      • SQL을 작성할 때는 어떤 데이터베이스에 작성할 것인지를 염두해야 합니다. 이는 벤더마다 SQL문이 조금씩 다르기 때문입니다. 하지만 하이버네이트를 사용하면 Dialect(사용하고자 하는 데이터베이스)만 설정해 주면 그에 맞는 SQL문을 생성하게 됩니다. 데이터베이스를 바꾸더라도 우리의 코드는 바뀌지 않습니다.
  • 단점

    • 학습비용
      • SQL문 공부하는 것도 포함. 하이버네이트가 SQL문을 자동으로 생성해준다고 해서 쿼리를 몰라도 되는 것은 아님. 하이버네이트를 더 잘 사용하기 위해서는 SQL을 공부해야함. 하이버네이트는 만만한 프레임워크가 아님. 그럼에도 불구하고 엄청난 장점이 있기 때문에 학습하는 것이 좋음. 하이버네이트 때문에 성능이 나빠졌다는 소리를 하는 사람은 학습이 부족한 것.
profile
난 이 재 선

0개의 댓글