해당 이미지를 보게 되면 객체 ORM 과 테이블은 유사한 관계를 가지고 있다. 단일 테이블 형태와 비슷하게 객체는 Item을 부모 클래스를 가지고 자식 클래스로 Album,Movie,Book 이 있다. 테이블을 보게되면 단일 테이블 같은 경우 Item이라는 테이블 안에 Album,Movie,Book 내용이 다들어간다. 하지만 조인 전략같은 경우 테이블이 세분화 되어있으며 해당 item의 PK 값을 각각의 자식 테이블들이 FK 값을 가지게 된다. 사용 어노테이션 @Inheritance(strategy=InheritanceType.JOIN) @DiscriminatorColumn(name=””) @DiscriminatorValue(””); 예제 확인 @Entity @Inheritance(strategy = I..
단일 테이블이란? 한마디로 한 테이블에 다 선언하는 방법 사용 어노테이션 @Inheritance(strategy = InheritanceType.SINGLE_TABLE) 상속관계 예시) Item class를 Album,Movie.Book이 상속을 받고있는 경우이다. 왼쪽 item 테이블을 보면 Album,Movie.Book 3개의 객체 내용이 한 테이블에 포함되어있다. 각각의 Album,Movie.Book 클래스를 확인해 보자. 사용 어노테이션 @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name=””) @DiscriminatorValue(””); @DiscriminatorColumn 상속에 해당하는 부모클래스에 지정하..
양방향 매핑의 의미 양방향 매핑이란 두 엔티티 간에 서로 관계를 가진다는 의미를 가진다 예시) Member 테이블과 Team 테이블 관계 양방향 매핑 Member 엔티티는 단방향과 동일 @Entity public class Member { @Id private Long id; @Column(name="USERNAME") private String name; @ManyToOne // 다 대 1 (Team 하나에 여러 Member 가 들어간다) @JoinColumn(name="TEAM_ID") private Team team; } Team 엔티티에는 컬렉션을 추가 @Entity public class Team{ @Id private Long id; private String name; @OneToMany(m..
Spring Mybatis 를 주로 사용하다가 Spring JPA를 공부하면서 이들의 차이점이 어떤건지 궁금하여 작성한다. 간략하게 말하자면 둘다 해보면서 느낀 차이점은 확실히 있었다. Mybatis 일때는 자바의 본 아이덴티티인 객체가 주가 되는 느낌이 아니었지만 확실히 JPA를 사용해보면서 Mybatis보다 객체가 주가된다는 느낌을 더 크게 받았다. 과연 이 이유는 무엇일까? 예시) 테이블 관계 테이블에 맞추어진 모델링 예시) @Entity public class Member { @Id private Long id; @Column(name="USERNAME") private String name; @Column(name="TEAM_ID") //FK 역할 private Long teamId; } @En..
자주 사용할 만한 매핑 어노테이션 @Column 컬럼 매핑 @Temporal 날짜 타입 매핑 @Enumerated enum 타입 매핑 @Lob BLOB, CLOB 매핑 @Transient 특정 필드를 컬럼에 매핑하지 않음(매핑 무시) hibernate.hbm2ddl.auto 에서 제공 @Column 속성 설명 기본값 name 필드와 매핑할 테이블의 컬럼 이름 객체의 필드 이름 insertable, updatable 등록,변경 가능 여부 TRUE nullable(DDL) null 값의 허용 여부를 설정한다.false 로 설정하면 DDL 생성 시에 not null 제약 조건이 붙는다. unique(DDL) @Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제약조건을 걸 때 사용..
- Total
- Today
- Yesterday
- centos7
- 격리수준
- 이미지
- MySQL
- hazelcast
- Linux
- dockerfile
- 네이버 클라우드
- 리눅스
- 캘린더
- leatcode
- 컨테이너
- Java
- dfs
- Quartz
- 캐시
- Lock
- mybatis
- ncp
- 권한
- 도커
- Cache
- spring
- 스케줄러
- docker
- 개념 이해하기
- LocalDate
- 알고리즘
- insert
- 정의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |