1. 이론은 대해서는 생략한다. 2. MySQL은 index에서 full text 검색을 지원해서 index를 full text로 설정하고 검색 대상이 될 컬럼을 지정해서 인덱스를 만들면 된다. 3. PostgreSQL은 약간 다른데 특정한 데이터 타입의 컬럼을 추가하여 그 컬럼을 지정해서 검색하는 방식이다. 4. 내용이 별거 없어서 아래 참고하면 된다. 5. 사실 스프링을 사용하면 Hibernate에서 full text search를 지원하는데, Apache Lucene 엔진을 사용한다. 하지만, 설정이 필요하고 파일시스템에 저장하는 방식을 사용하기 때문에 간편함을 추구하다가 더 불편해 질 수도 있다. 개인적으로는 데이터베이스에서 지원하는 것을 사용하는 것을 선호하는데 결국 선택의 문제다. # 자연어 ..
0. LOB은 가변길의를 갖는 큰 데이터를 저장하는데 사용하는 데이터형이다. 0-1 CLOB은 문자기반을 데이터를 저장하는데 사용된다. 0-2 BLOB은 binary 데이터를 저장하는데 사용된다. 1. @Lob은 일반적인 데이터베이스에서 저장하는 길이인 255개 이상의 문자를 저장하고 싶을 때 지정한다. 2. 아래는 유저 엔티티를 데이터베이스에 저장하는 간단한 발췌인데, 유저는 이름과 사진을 정보를 가지고 있다. // 유저 엔티티 @Entity @Table(name="user") @Data public class User { @Id private Long id; @Column(name = "name", columnDefinition="VARCHAR(128)") private String name; @Lo..
1. spring.jpa.hibernate.ddl-auto에서 설정하는 자동 데이터베이스 생성 정책에 대한 내용이다. 2. 선택 가능 옵션들 2-1 none 2-2 validate - 기동 시 스키마를 검증하여 필요한 테이블과 컬럼이 없을 경우 에러가 발생한다. 2-3 update - Entity에 적합하게 기존의 스키마를 변경한다. 데이터는 그대로이다. 2-4 create - 기동 시 데이터베이스 스키마가 생성된다. 종료 시 데이터만 삭제된다. 2-5 create-drop - 기동 시 데이터베이스 스키마가 생성되지만, 종료시 데이터베이스 스키마가 삭제 된다. 3. 내장 데이터베이스(h2, hsql, derby)에는 스프링 부트는 create-drop을 기본으로 사용한다. 4. Hibernate의 기본 ..

1. 이 포스트는 하이버네이트의 양방향 One to Many나 Many to Many관계에서 발생하는 무한재귀호출에 대한 것이다. 2. 이 문제는 jackson이 객체를 네트워크로 보낼 데이터로 변환(serialization)하면서 circle이 발생하는 entity를 정상적으로 처리하지 못하여 발생하는 문제이다. 2-1 반드시 내부적으로 순환관계가 있어야 발생하는 문제이다. 단방향으로 정의하면 문제가 생기지 않는다. 2-2 환자와 진료데이터를 가지고 설명한다. 2-2-1 환자는 여러 진료데이터를 가지고 있고, 2-2-2 진료데이터는 단 한 명의 환자 정보를 가지고 있다. 3. 환자와 진료데이터 entity 3-1 환자 Entity 3-1-1 중요한 것은 환자와 데이터가 서로에 대한 참조변수를 가지고 있..

0. 이 포스트는 상속 매핑의 Mapped Superclass 정책에 대해서 작성한다. 1. Mapped Superclass 정책 1-1 자식 클래스만 @Entity로 수식되고 테이블로 전환된다. 1-2 자식 클래스는 상속받은 field 까지 테이블에 저장한다. 1-3 부모 클래스는 Entity가 아니므로 부모클래스를 받아 올 때는 HQL 같은 별도의 작업이 필요하다. 2. 장점과 단점 2-1 장점 2-1-1 간단하고 단순한 구현이다. 2-1-2 상속 구조 자체가 없기 때문에 속도가 빠르다. 다만 부모 클래스 객체를 만들기 까다롭다. 2-1-2-1 부모 클래스를 사용하려면 abstract를 제거해야 생성이 가능하고 query를 별도로 작성한다. 2-2 단점 2-2-1 부모를 받기 위해서는 HQL을 별도로..

0. 이 포스트는 상속 매핑의 Joined Table 정책에 대해서 작성한다. 1. Joined Table 정책 1-1 모든 클래스는 테이블로 전환된다. 1-2 상속의 기능은 테이블의 관계로 처리되고 외래키 설정으로 이루어진다. 1-3 Entity 클래스를 가져올 때 내부적으로 여러 테이블 간의 Join으로 반환값이 만들어 진다. 2. 장점과 단점 2-1 장점 2-1-1 정규화된 테이블 구조를 가진다. 2-1-2 중복이 없고 데이터의 무결성이 보장된다. 2-2 단점 2-2-1 모든 entity 작업에 join이 필요하다. 그래서 느리다. 3. Joined Table 정책을 사용하려면 아래의 설정이 필요하다. 3-1 부모클래스의 상속 설정에서 Joined Table 정책을 지정한다. @Inheritance..

0. 이 포스트는 Table Per Class 정책에 대해서 설명한다. 1. Table Per Class 1-1 이 정책을 사용하면 자식 클래스(non-abstract class)들이 생성된다. 1-2 부모의 속성도 같이 테이블에 포함되어 생성된다. 1-3 부모클래스에서 ID 생성 정책을 TABLE로 사용하여 자식클래스의 ID를 동기화 시킨다. 1-3-1 별도의 sequence 테이블이 생성되고 여기에서 사용한 id가 관리 된다. 1-4 여러 개의 쓰레드가 ID테이블을 접근할 수 있으므로 스레드풀 갯수를 늘여줘야한다. 2. Table Per Class 장단점 2-1 장점 2-1-1 간단하고 직관적인 구현방식이다. 2-1-2 각 자식클래스에 대한 query 수행이 빠른 편이다. 2-2 단점 2-2-1 부모..

1. 이 포스트와 앞으로 3개의 포스트는 하이버네이트의 Inheritance Mapping에 대해서 설명한다. 1-1 클래스의 상속 구조를 데이터베이스에 매핑하는 정책은 4가지가 있다. 1-1-1 Single Table Strategy - 하나의 클래스에 모든 자식클래스 정보까지 다 때려 넣는다. 1-1-2 Table per Class Strategy - 자식 클래스 마다 테이블이 생성되는데 공통 id를 위한 추가 테이블이 생성된다. 1-1-3 Joined Table Strategy - 부모클래스, 자식클래스 모두 하나 씩 생성된다. 자식클래스는 고유의 속성만 가진다. 1-1-4 Mapped Superclass Strategy - 자식 클래스 마다 테이블이 생성된다. 부모클래스는 완전히 역활이 없다. 2..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- WebMvc
- 상속
- form
- spring boot
- Many-To-Many
- 외부파일
- Spring Security
- Angular
- 스프링
- Security
- MYSQL
- mapping
- one-to-one
- 스프링부트
- 설정하기
- XML
- jsp
- 자바
- Validation
- 매핑
- one-to-many
- crud
- Rest
- 설정
- 하이버네이트
- hibernate
- RestTemplate
- login
- 로그인
- Spring