221204 - JPA, ORM

Cornchip·2022년 12월 4일
0

Today-I-Learned

목록 보기
5/28

목차
1. @CreatedDate / @LastModifiedDate
2. JPA와 ORM



1. @CreatedDate / @LastModifiedDate

  • Spring Date JPA 내부의 기능
  • Auditing 기능
  • 자동으로 값의 생성시점과 수정시점을 수정해준다.

    SpringBootApplication에 @EnableJpaAuditing annotation이 필요하다.
    @Entity에는 @EntityListeners(AuditingEntityListener.class)가 필요하다.



2. JPA와 ORM

  • 영속성 컨텍스트에서 영속성이란?

    객체를 관리하는 컨텍스트라는 의미이다.

  • 영속이란?

    사전적 의미로는 영원한것, 지속되는 것
    JPA(Java Persistence Api)의 persistence 또한 '지속(영속성)'이라는 뜻을 가진다.
    jvm이 없다면 사라질 데이터를 java 외부에 영원히 지속시키고 싶다는 의미이다.

  • ORM(Object Relational Mapping)이란?

    객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 말한다.
    ORM을 통해 객체의 클래스와 데이터베이스의 테이블 간의 불일치를 SQL을 자동으로 생성하여 해소하는 것이다.

  • JPA가 Mybatis와 다른 점

    JPA는 영속성이라는 개념을 바탕으로 java 객체를 DB에 옮겨 지속시키고 싶은 것이고
    Mybatis는 단순히 DB의 정보와 java 객체 간의 정보를 매핑시켜주는 데이터베이스 매퍼 객체일 뿐이다.


  • ORM의 장점

    1. 객체 지향적인 코드로 인해 더 직관적이고 비즈니스 로직에 더 집중할 수 있게 도와준다.
    2. 재사용 및 유지보수의 편리성이 증가한다.
    3. DBMS에 대한 종속성이 줄어든다.
  • ORM의 단점

    1. 완벽한 ORM으로만 서비스를 구현하기가 어렵다.
    2. 프로시저가 많은 시스템에선 ORM의 객체 지향적인 장점을 활용하기 어렵다.
profile
cornchip

0개의 댓글