본문 바로가기
728x90

Spring24

[JPA] @Lob LobLOB은 가변 길이를 가지는 큰 데이터를 저장하는데 사용하는 데이터형(가변 길이 데이터 유형) 1. CLOB은 문자기반 데이터를 저장하는데 사용(대량의 텍스트 데이터)ex) String , char[], java.sql.CLOB 2. BLOB은 binary 데이터를 저장하는데 사용(이미지, 오디오, 비디오 등)ex) byte[], java.sql.BLOB @Lob- 일반적인 데이터베이스에서 저장하는 길이인 255개 이상의 문자를 저장하고 싶을 때 지정한다.- 지정할 수 있는 속성이 없다.- 스프링이 추론하여 어떤 타입으로 저장할지 판단한다.문자 타입의 경우 CLOB 매핑, 나머지는 BLOB 매핑     참고https://shiba-holic.tistory.com/65https://kogle.tist.. 2024. 12. 25.
[JPA] @Transient @Transient▶ 영속성 대상에서 제외시키기 위해 사용▶ 필드 매핑X▶ 데이터베이스에 저장X, 조회X▶ 주로 메모리상에서만 임시로 어떤 값을 보관하고 싶을 때 사용    참고https://www.inflearn.com/course/ORM-JPA-Basic/dashboardhttps://gmoon92.github.io/jpa/2019/09/29/what-is-the-transient-annotation-used-for-in-jpa.html(두 가지 엘리먼트 타입 지원 이유, 영속 상태 접근 방식 두 가지) 2024. 12. 23.
[JPA] @Temporal @Temporal날짜 타입(java.util.Date, java.util.Calendar)을 매핑할 때 사용(참고: @Temporal을 생략해도 LocalDate, LocalDateTime은 사용할 수 있다.) 자바의 Date 타입에는 년월일시분초가 있고, DB에는 date(날짜), time(시간), timestamp(날짜와 시간)라는 세 가지 타입이 별도로 존재한다. @Entitypublic class Test { @Id @GeneratedValue private Long id; @Temporal(TemporalType.DATE) private Date createdDate;} 속성속성설명value • TemporalType.DATE: 날짜(년월일) / 데이터베이스 d.. 2024. 12. 20.
[JPA] @Enumerated @Enumeratedenum 타입을 매핑할 때 사용 속성속성설명기본값value• EnumType.ORDINAL : enum 순서(숫자)를 DB에 저장• EnumType.STRING   : enum 이름을 DB에 저장EnumType.ORDINAL주의! ORDINAL 사용x 예)public enum OrderStatus { ORDER, CANCEL} @Enumerated(EnumType.ORDINAL)private OrderStatus orderStatus;@Enumerated(EnumType.STRING)private OrderStatus orderStatus; ORDINAL 사용ORDER = 0, CANCEL = 1숫자로 저장STRING 사용"ORDER", "CANCEL"문자로 저장  다음과 같이 PAY.. 2024. 12. 9.
[JPA] @Table @TableEntity와 매핑할 테이블 지정 속성속성기능기본값name매핑할 테이블 이름Entity 이름 사용catalogDB catalog 매핑 schemaDB schema 매핑 uniqueConstraints(DDL)DDL 생성시에 유니크 제약 조건 생성     참고자바 ORM 표준 JPA 프로그래밍 - 기본편 2024. 12. 6.
[JPA] @Entity Entity- 관계형 데이터베이스의 테이블과 대응하며, JPA가 관리하는 클래스- Java 클래스로 선언@Entitypublic class Member { ...} @Entity테이블과 매핑할 클래스는 @Entity 를 붙여야 한다. 주의 사항- 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)(참고 : JPA는 Java Reflection API를 통해 Entity 정보를 받는다. 이 때 생성자 인자 정보를 가져올 수 없어서 기본 생성자는 필수이다.)- final, enum, interface, inner 클래스에는 사용X- 테이블에 저장할 필드는 final 사용X 속성속성기능기본값nameJPA에서 사용할 Entity 이름 지정클래스 이름을 그대로 사용    참고자바 ORM.. 2024. 12. 4.
728x90