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..
1. lombok은 귀찮은 setter, getter, contructor, toString, equals 등의 많은 메소드들을 자동으로 구현해 준다. 2. Entity 클래스를 생성할 때 모든 Entity가 id를 사용하는데 같은 속성이름(보통 id)일 때는 반복하는 것이 번거롭다. 2-1 이를 해결하기 위해서 중복이 부분을 별도의 클래스에 지정하고 그 클래스를 상속한다. 2-2 중요한 것은 상속을 받는 부모 클래스에도 @Data annotation을 지정하여 setter, getter를 생성해야 한다. 2-3 당연한 말이지만, 빼먹고 원인을 못찾을 경우가 많다. 2-4 @MappedSuperclass가 핵심인데 컴파일되면 자식클래스가 부모를 그대로 복사하는 것처럼 된다. import javax.per..
- 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
- MYSQL
- 설정
- Spring
- 로그인
- Angular
- Security
- 자바
- 스프링
- crud
- form
- login
- 상속
- one-to-many
- RestTemplate
- Many-To-Many
- 설정하기
- 매핑
- 스프링부트
- Rest
- one-to-one
- XML
- spring boot
- 하이버네이트
- Spring Security
- hibernate
- Validation
- WebMvc
- mapping
- 외부파일
- jsp