본문 바로가기

mapping4

Spring JPA / @MappedSuperclass 안녕하세요. 이번 포스팅에서는 JPA에서 사용하는 @MappedSuperclass 어노테이션에 대해서 작성을 해보려고 합니다. 먼저 JPA에서는 3가지의 상속관계 매핑이 존재하며 @MappedSuperclass 어노테이션은 상속관계 매핑과는 전혀 무관합니다. 상속관계 매핑과는 무관하다고 하면서 JPA에 3가지 상속관계 매핑이 존재한다고 얘기를 했냐면 DB에서의 상속 관계와는 무관하지만 객체 지향 관점에서 중복되는 컬럼을 하나의 클래스로 정의를 하고 해당 클래스를 상속을 받기 때문입니다. JPA의 상속관계에 대해 잘 모르시는 분들은 이 말이 이해가 잘 안가실 수 있습니다. 위에 얘기가 잘 이해가 안가시는 분들은 일단 머리속에서 JPA의 3가지 상속관계 매핑이라는 개념을 지우고 @MappedSuperclas.. 2023. 7. 12.
Spring JPA / Entity 매핑 안녕하세요. 지난 JPA 포스팅에 이어서 이번 포스팅에는 JPA의 Entity 매핑에 대해서 작성을 하려고 합니다. JPA를 사용하면서 다양한 어노테이션을 사용을 해야하는데 오늘은 JPA에서 사용하는 어노테이션들과 어떻게 java 객체가 DB와 매핑이 되는지 작성을 하겠습니다. @Entity - Entity(엔티티)란 JPA에서 관리하는 DB와 매핑되는 객체를 뜻합니다. - JPA에서 DB 테이블과 매핑할 객체의 클래스에는 @Entity 어노테이션 사용 - Entity 클래스에서는 기본 생성자가 반드시 있어야 하며 final, enum, interface, inner 클래스는 사용할 수 없다. - name 옵션으로 JPA에서 사용할 엔티티 이름을 지정할 수 있다. @Table - Entity와 매핑할 테.. 2023. 6. 21.
ElasticSearch Mapping 구조 추가 및 Reindex 인덱스의 매핑 구조 1. 조회 - GET Method 사용 - ES 접근 IP 주소:9200/인덱스명/_mapping 2. 추가 - PUT Method 사용 - ES 접근 IP 주소:9200/인덱스명/_mapping { "properties":{ "추가할 필드" : { "type" : "타입지정" ... } } } ※ 이미 존재하는 필드명과 추가할 필드명이 같으면 에러 발생 3. 수정 - ES에서 한번 등록된 매핑 구조는 수정이 될 수 없다. - 한번 생성할 때 신중하게 생성을 해야 한다. Reindex - 위에서 적어 놓았듯이 ES에서는 이미 정의된 매핑 구조는 수정이 될 수 없다. - 특정 필드의 타입을 변경 하고 싶을 때는 동일한 구조의 매핑에서 특정 필드의 타입을 변경 시킨 새로운 인덱스를 생성 .. 2022. 6. 16.
ElasticSearch mapping 매핑이란? - RDBMS의 스키마와 비슷한 역할 - json 형태의 데이터를 루씬이 이해할 수 있도록 바꿔주는 작업 - 다이나믹 매핑 - json 도큐먼트의 데이터 타입에 맞춰 자동으로 인덱스 매핑을 해주는것 - 명시적 매핑 - 인덱스를 생성할 때 인덱스 매핑을 직접 정의하거나 mapping API를 통해 매핑을 지정 매핑 타입 데이터 타입 설명 text* 전문 검색이 필요한 데이터로 텍스트 분석기가 텍스트를 작은 단위로 분리 keyword* 텍스트 분석을 하지 않고 원문을 통째로 인덱싱 date 날짜 / 시간 Bye, short, integer, long 정수형 타입 scaled_float, half_float, double, float 실수형 타입 scaled_float : float 데이터에 특정 .. 2022. 5. 20.