
지금 시대는 객체를 관계형 DB에 관리한다.SQL 중심적으로 개발을 진행하는 경우들이 대부분인데 이러한 SQL 중심적인 개발의 문제점은 반복되는 CRUD 작업들과 이로인한 지루한 코드들이다.객체를 테이블에 맞추어 모델링하고 테이블에 맞추어 저장하게 된다.객체는 자유롭게

데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성을 뜻한다.영속성을 갖지 않는다면? 데이터는 메모리에서만 존재하고, 프로그램이 종료되면 해당 데이터는 모두 사라진다.그렇기 때문에 데이터를 DB 또는 파일에 저장해서 데이터에 영속성을 부여하는 것이다.JP

JPA에서 실제 테이블에 연결하는 객체를 엔티티라고 부른다.엔티티와 테이블을 정확하게 매핑해서 사용해야하기 때문에 매핑을 위한 여러 Annotation이 존재한다.객체와 테이블 매핑 : @Entity, @Table필드와 컬럼 매핑 : @Column기본 키 매핑 : @I

연관관계 매핑 기초 연관관계가 필요한 이유 객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없다. 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾지만 객체는 참조를 이용해서 연관된 객체를 찾기 때문에 테이블과 객체는 이러한 큰 차이가 있

연관관계는 아래와 같은 다중성이 있다.다대일 : @ManyToOne일대다 : @OneToMnay일대일 : @OneToOne다대다 : @ManyToMany다대일과 일대다가 실무에서 가장 많이 쓰인다.객체는 참조용 필드가 있는 쪽으로만 참조가 가능하며, 한쪽만 참조하면 단

객체와 달리 관계형 데이터베이스는 상속 관계가 존재하지 않는다.상속관계 대신 슈퍼타입 서브타입 관계라는 모델링 기법이 존재하며 이는 객체의 상속과 유사하다.ORM에서 상속관계 매핑은 객체와 상속 구조와 DB의 슈퍼타입 서브타입을 매핑하는 것이다.슈퍼타입 서브타입 논리

JPA의 데이터 단위는 최상위로 분류하면 두 가지로 분류한다.엔티티 타입@Entity로 정의하는 객체데이터가 변해도 식별자로 지속해서 추적가능하다.예) 회원 엔티티의 키나 나이 값을 변경해도 키와 나이는 계속 식별자로 인식가능하다.값 타입쉽게 말해서 그냥 값으로 쓰이는