Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 비트 #바이트 #이진수
- 쓰레드 #쓰레드풀 #프로세스
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- 썸네일 #이미지
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 부트캠프 Entity 맵핑 (다락방) 본문
@Entity
@Table(name="MEMBER")
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(insertable = true, updatable = false)
private Long mbrSeq;
@Column
private String deptCd;
@Enumerated(value = EnumType.STRING) // 필수
private MemberStatus memberStatus;
@Column
private LocalDateTime regDttm;
@Lob
private String clobContents;
@Transient
private String tempField;
}
DDL 생성 기능은 DDL을 자동 생성할 때만 사용되고
JPA의 실행 로직에는 영향을 주지 않는다.
객체와 테이블 매핑은
@Entity, @Table
필드와 컬럼 매핑
@Column
기본키 매핑
@Id
연관관계 매핑
@ManyToOne @JoinColumn
@Entity가 붙은 Class는
EntityManager에 의해서 관리 될 수 있고
실제 객체와 테이블을 맵핑하는 Annotation이다.
@Table은
엔티티와 매핑할 테이블을 지정하는 Annotation이다.
속성 | 기능 | 기본값 |
name | 테이블 이름 매핑 | 엔티티 이름을 사용 |
catalog | 데이터베이스 catalog 매핑 | |
schema | 데이터베이스 schema 매핑 | |
uniqueConstraints(DDL) | DDL 생성 시 유니크 제약조건 생성 |
@ID는 PK(Primary Key)
해당 Entity의 고유함을 보장하는 기본키와 대칭한다.
@GeneratedValue는
기본키를 자동 생성해주기 위한 전략을 선택하면 자동으로 생성해주는 값.
@Column
@Column
private String deptCd;
속성 | 기능 | 기본값 |
name | 필드와 매핑할 테이블의 컬럼 이름 | 객체의 필드 이름 |
insertable, updatable | 등록, 변경 가능 여부 | TRUE |
nullable(DDL) | null 값의 허용 여부를 설정한다. false로 설정하면 DDL 생성 시에 not null 제약조건이 붙는다. |
|
unique(DDL) | DDL 생성 시 유니크 제약조건 생성 | |
columnDefinition (DDL) |
@Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제약조건을 걸 때 사용한다 | |
nullable(DDL) | 데이터베이스 컬럼 정보를 직접 줄 수 있다. ex) varchar(100) default ‘EMPTY’ |
|
length(DDL) | 문자 길이 제약조건, String 타입에만 사용한다. | 255 |
precision, scale(DDL) | BigDecimal 타입에서 사용한다(BigInteger도 사용할 수 있다). precision은 소수점을 포함한 전체 자 릿수를, scale은 소수의 자릿수이다. 참고로 double, float 타입에는 적용되지 않는다. 아주 큰 숫자나 정밀한 소수를 다루어야 할 때만 사용한다. |
precision = 1 |
@Enumerated
@Enumerated(value= EnumType.STRING) // 필수
private MemberStatus memberStatus;
속성 | 기능 | 기본값 |
value | • EnumType.ORDINAL: enum 순서를 데이터베이스에 저장 • EnumType.STRING: enum 이름을 데이터베이스에 저장(Data Type : varchar) |
EnumType.ORDINAL |
// JPA는 @Enumerated가 붙은 열거체(Enum)에 맞는 상수이름에 맞게 데이터를 넣어준다.
@Entity
public class Member {
@Enumerated(value=EnumType.STRING) // 필수
private MemberStatus memberStatus;
}
public enum MemberStatus {
SIGNUP, // 상수이름에 맞게 데이터가 들어간다.
WITHDRAWAL,
10; // Class 필드 선언 규칙과 같이 숫자로 시작은 불가
}
@Temporal
사용하면 DBMS data type에 맞도록 매핑이 가능하다.
Data의 많은 문제를 해결한
LocalDate, LocalDateTime, ZonedDateTIme으로 대체가 가능하다.
@Column
private LocalDateTime regDttm;
@Lob
Class속성 타입으로 Clob, Blob을 구분한다.
Clob : String, Char[]
Blob : Byte[]
@Lob
private String clobContents;
@Transient
데이터 베이스 물리 컬럼으로
존재하지 않는 객체의 필드를 선언하는 Annotation이다.
데이터베이스에 저장, 조회가, 불가하며
어플리케이션 내부에서만 임시로 사용할 데이터로 사용한다.
@Transient
private String tempField;
https://hs-backend.tistory.com/201
반응형
'Spring' 카테고리의 다른 글
스파르타 부트캠프 Query Method (다락방) (0) | 2024.06.18 |
---|---|
스파르타 부트캠프 연관관계 맵핑 (다락방) (0) | 2024.06.18 |
스파르타 부트캠프 JPA 동작 원리 (다락방) (0) | 2024.06.18 |
스파르타 부트캠프 객체와 관계형 DB (다락방) (0) | 2024.06.18 |
스파르타 부트캠프 JPA (다락방) (0) | 2024.06.18 |