0. 이 포스트는 하이버네이트 Annotation으로 SortedMap, SortedSet을 사용하는 방법이다. 0-1 이 두 Collection은 각 AbstractMap, AbstractSet을 구현하고 있다. 0-2 따라서 각 SotedSet, SortedMap을 구현한 NavigatableSet, NavigableMap을 상속하는 클래스를 사용해야 한다. 0-3 Set의 경우는 TreeSet이고 Map의 경우는 TreeMap이 된다. 1. Sorted 컬렉션은 데이터베이스에서 데이터를 저장 할 때 컬렉션의 정렬 기준을 지정해 주어야 한다. 1-1 데이터베이스 검색에서 @OrderBy는 데이터베이스 쿼리 내의 검색 결과의 정렬이기 때문에 1-2 collection에 저장하는 순간 Sorted 컬렉션..
1. 이 포스트는 javax.persistence @OrderBy annotation을 설명한다. 2. @OrderBy는 데이터베이스의 Query 구문의 Order by 구문과 동일한 효과를 가진다. 2-0 @OrderBy("fieldname [ASC | DESC] ") 형식으로 사용된다. 2-1 데이터베이스 실행 시 가장 끝에 order by가 붙으며 지정된 field와 정렬 순서가 그대로 삽입된다. 2-2 가지고 올 때도 순서를 지정하기 때문에 List, Set, Map에서는 의미가 있다. 2-3 하지만, 별도의 Comparator를 지정해야 하는 SortedMap, SortedSet에는 의미가 없다. 2-3-1 가져올 때 순서가 있어도 실제 Collection에 저장할 때 기본값으로 설정된 정렬기준..
1. 이 포스트는 HIbernate에서 Map을 사용하는 방법에 대한 내용이다. 1-0 Map은 키와 값을 매핑하는 테이블 구조이다. 1-1 Map는 순서가 의미가 없고 키는 중복을 허용하지 않지만 값은 중복을 허용한다. 1-2 용도는 1-2-1 에러코드와 에러메시지의 테이블 1-2-2 주소와 페이지 경로를 매핑하는 라우팅 테이블 1-2-3 국가 코드와 국가 이름 1-2-4 이미지 파일이름과 이미지 설명 2. Map의 경우는 Collection에 2가지 field가 저장되어야 하고 key값이 될 field는 중복을 허용하지 않는다. 3. Annotation 설명 3-1 @MapKeyColumn 3-1-1 key로 사용될 컬럼의 이름을 지정한다. 3-1-2 기본값은 속성이름 + _KEY가 된다. 4. St..
1. 이 포스트는 HIbernate에서 List를 사용하는 방법에 대한 내용이다. 1-0 세팅과 기본적인 내용은 이전 포스트를 참조한다. 필요한 부분만 설명한다. 1-1 List는 순서가 중요하고 중복을 허용하는 데이터의 집합이다. 1-2 활용 용도는 1-2-1 예약명부에 예약 순서가 중요한 경우나 1-2-2 이메일 프로그램에서 받은 편지함의 온 순서대로 정렬된 메시지들 1-2-3 야구선수들의 타순정보 2 Annotation 설명 2-1 @OrderColumn는 Collection의 순서를 저장하는 필드를 데이터베이스에 추가 해준다. 2-1-1 이 수식자는 List가 저장하고 있는 순서를 실제로 데이터베이스에 기록해준다. 2-1-2 나중에 이 field를 기준으로 정렬하여 데이터를 받아오면 언제나 순서를..
1. 이 포스트는 HIbernate에서 Set을 사용하는 방법에 대한 내용이다. 1-1 Set은 순서가 없고 중복을 허용하지 않는 데이터의 집합이다. 1-2 용도는 순서가 중요하지 않고 존재여부가 중요한 경우에 사용한다. 1-2-1 예약명부에 이름이 있는지를 결정할 때나 1-2-2 포커게임의 카드들이 Set에 해당한다. 2. Annotation 설명 2-1 @ElementCollection 2-1-0 속성에 지정한다. 2-1-1 지정된 속성이 컬렉션을 저장할 것이라고 설정한다. 2-1-2 컬렉션의 저장될 정보는 별도의 테이블에 존재한다. 2-2 @CollectionTable 2-2-1 데이터를 가지고 있는 테이블의 이름을 지정한다. 2-2-2 메인 테이블을 참조하는 join column을 지정해야 한다...
1. 하이버네이트에는 다양한 Annotation들이 존재한다. 기본적인 것 이외에 유용한 Annotation에 대한 시리즈이다. 1-1 @ElementCollection로 Collection을 다룬다. 1-2 @Embeddable, @Embedded에 대해서 설명한다. 1-3 Enum을 사용하는 방법에 대해 작성한다. 1-4 상속에 대한 다양한 경우에 대해서 설명한다. 2. 코드는 스프링을 사용하지 않고 Hibernate core 모듈만 가지고 작성한다. 2-1 따라서 maven archetype quickstart 1.4를 사용하여 작성한다. 3. 데이터베이스는 MySql을 사용한다. 3-1 데이터베이스 생성은 테스트용으로 제공되는 하이버네이트의 hibernate.hbm2ddl.auto설정을 통해 자동..
0. 이 포스트에는 주문 페이지를 작성한다. 1. 주문 페이지를 위한 컴포넌트를 생성하고 라우팅테이블을 업데이트 한다. $ ng generate component components/checkout const routes: Routes = [ { path: 'checkout', component: CheckoutComponent }, { path: 'cart-details', component: CartDetailsComponent }, { path: 'search/:keyword', component: ProductListComponent }, { path: 'category/:id/:name', component: ProductListComponent }, { path: 'category', comp..
0. 이 포스트는 카드 상세 페이지에서 수량을 조절하거나 담겨진 상품을 삭제하는 기능을 작성한다. 1. 우선 UI를 약간 변경하여 수량을 조절하는 버튼 2개와 삭제 버튼을 추가한다. 아래 소스의 중앙 부분에 있다. 1-1 버튼을 수량 좌우에 배치하고 클릭 이벤트가 발생하면 증감을 처리하는 메소드를 지정한다. 1-2 제거 버튼도 마찬가지로 클릭 시 이벤트를 처리하는 메소드를 지정한다. 1-3 각 이름이 incrementQuantity, decrementQuantity, removeItem이고 모두 현재 cartItem을 인자로 넘겨준다. There is no item in your cart Product Image Product Detail {{item.name}} {{item.unitPrice}} Qua..
- 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