WEB/Spring JPA3 @TypeDef, @Type 전환 SpringBoot 3.x 마이그레이션 가이드 @TypeDef (Hibernate 5.x)@TypeDef는 Hibernate에서 사용자 정의 데이터 타입을 정의할 때 사용하는 어노테이션입니다.JPA에서는 문자열, 숫자, 날짜 등 기본적인 타입만 매핑할 수 있기 때문에, JSON, Enum과 같은 복잡한 타입을 처리하기 위해서는 Hibernate에서 해당 타입을 어떻게 매핑할 것인지 명시적으로 알려줘야 합니다. 이럴 때 @TypeDef를 사용하여 사용자 정의 타입을 등록하고, 실제 필드에는 @Type을 사용하여 적용합니다. 언제 사용하는가?엔티티 필드가 기본적인 타입이 아닌 경우, Hibernate는 해당 필드를 어떻게 DB에 저장하고 다시 Java 객체로 매핑할지 알 수 없습니다. 이런 경우 @TypeDef로 사용자 정의 타입을 등록하고, @Type.. 2025. 4. 15. Spring JPA Criteria API 소개와 예제 Spring JPA Criteria API 개념과 사용법 Spring Data JPA 동적 쿼리란Spring Data JPA의 동적 쿼리란 런타임 시점에 조건에 따라 동적으로 생성되는 쿼리를 의미합니다. 즉, 고정된 쿼리가 아닌, 입력 파라미터나 조건에 따라 쿼리가 달라지는 것을 말합니다. 동적 쿼리는 다양한 검색 조건이나 필터링 요구사항에 대응하기 위해 사용됩니다.예를 들어, 사용자로부터 여러 검색 조건을 받아 그 조건에 따라 데이터를 필터링하여 조회하는 경우를 생각해볼 수 있습니다. 동적 쿼리를 사용하면 사용자가 입력한 조건에 맞추어 쿼리를 조합할 수 있습니다. Criteria API 소개JPA Criteria API는 JPA 2.0에서 도입된 타입 안전한 쿼리 작성 방법입니다. 이는 SQL 쿼리를 .. 2024. 6. 7. Spring Data JPA 어노테이션 OneToMany ManyToOne NamedQuery GeneratedValue Spring Data JPA 자주 사용하는 어노테이션 정리 - 1 Spring에서 JPA를 사용하면서 @Entity, @Table, @Column 등등 여러 어노테이션을 접하게 되었는데 이 어노테이션들의 정확한 역할과 추가적으로 설정할수 있는 옵션들에 대해 자세하게 정리할 필요를 느껴서 작성하게 되었습니다. @Entity엔티티 클래스와 DB의 테이블을 매핑하기위해 사용하는 어노테이션 입니다. JPA 기능을 사용하기 위해서 필수적으로 들어가야하며 name 옵션으로 매핑할 DB의 테이블명을 지정할수 있습니다.name 옵션을 사용하지 않을시 클래스 이름으로 테이블과 매핑됩니다. 예제 코드@Entity(name = "user")public class User { ...} @Table@Entity 어노테이션.. 2024. 5. 20. 이전 1 다음