1. 하이버네이트의 FetchType은 어떤 Entity를 데이터베이스에서 가져올 때 2. 관계를 가지는 다른 Entity의 정보를 언제 로딩하는 지에 대한 설정이다. 2-1 Eagar은 Entity의 데이터를 가지고 오면서 같이 관계가 있는 Entity의 정보까지 같이 가지고 온다. 2-2 Lazy는 나중에 필요시에 관계 Entity의 정보를 가지고 온다. 3. 하이버네이트의 기본 FetchtType은 각 Mapping마다 다른데 3-1 @OneToOne은 Eager 3-2 @OneToMany는 Lazy 3-3 @ManyToOne은 Eager 3-4 @ManyToMany는 Lazy 3-5 Default 설정은 일관적인 부분이 있는데 관계를 맺는 상태 entity가 one side이면 Eager many..
0. 데이터베이스에서 foreign를 가진 쪽은 무조건 하나의 참조 row를 가질 수 밖에 없다. 0-1 그렇기 때문에 관계를 맺는 상대방은 무조건 one side가 된다. 0-2 자신은 상황에 따라 one 혹은 many가 돈다. 1. 아래 설명은 하나의 강사가 여러 과목의 강의를 하고 한 강의는 한명의 강사가 가르친다고 가정한다. 1-1 DB에서는 아래 도면과 같이 OneToOne, OneToMany명기가 명확하지 않다. 1-2 설계자가 어떻게 사용하는가에 방향성과 관계가 결정된다. 2. course table을 추가 한다. 3. Course 클래스를 추가하고 Entity 매핑을 처리한다. 3-1 course 테이블이 강사에 대한 foreign key를 가지고 있으므로 3-1-1 강사는 무조건 one이..
0. 양방향의 설정에서 가장 중요한 것 중 하나가 참조이다. 0-1 삭제할 때는 관계를 맺는 enitity와의 참조도 중요한 역활을 하므로 꼼꼼하게 확인해야 한다. 1. One To One 관계의 테이블 사이에 Bi-directional은 실제 관계형데이터 베이스에서는 사용되지 않는다. 1-0 즉 프로그램 상 편의로 양방향 모두 Entity를 소유하도록 하는 것이다. 1-1 지난 예제처럼 강사 테이블과 강사세부정보 테이블이 1:1의 관계를 가지고 있다고 하자. 1-1-1 강사 테이블에 instructor_detail_id라는 외래키 column이 존재한다. 1-1-2 이 컬럼 값은 Instructor_detail 테이블의 기본키 값을 참조하고 있다. 1-1-3 즉 강사테이블에서만 강사세부정보에 대한 정보..
1. 개발 절차 1-1 테이블을 생성한다. 1-2 hibernate와 mysql 세팅을 한다. 1-2 Entity 클래스를 만든다. 1-3 Entity 클래스에 Annotation을 작성하여 Mapping 처리한다. 1-4 프로그램에서 이 두 Entity를 사용한다. 2. 아래와 같이 간단히 두 개의 테이블을 생성한다. 2-1 두 개의 테이블 사이에는 foreign key관계가 설정되어 있다. 2-1-1 외래키의 목적은 2-1-1-1 두 테이블의 관계가 정해진 규칙에 의해 보호된다. 참조무결성이라고도 한다. 2-1-1-1-1 더 세부적으로 말하면 두 테이블의 관계가 깨어지는 query가 실행되지 못하도록 한다. 2-1-1-2 적절한 값이 외래키 column에 입력되는 것을 보장해 준다. 2-1-1-2-1..
0. Hibernate를 잘 사용하려면 데이터베이스에 대한 기본이 잘 잡혀 있어야 한다. 0-1 데이터베이스 기초가 없으면 솔직히 Hibernate 학습은 시간낭비라 생각한다. 1. 데이테베이스 설계처럼 Hibernate에도 3가지 Mapping 방식이 있다. 1-1 One-To-One 1-2 One-To-Many / Many-To-One 둘 다 같다. 관계를 뒤집으면 동일하다. 1-3 Many-To-Many 1-3-1 데이터베이스 설계처럼 별도의 관계 테이블을 추가하여 3개의 Table을 사용한다. 1-3-2 두 개의 테이블과 한개의 관계테이블이 2개의 One-To-Many 관계를 이룬다. 2. Cascade 2-1 Cascade는 데이터베이스에서 실행된 query문을 관련된 테이블까지 적용하는 것을 ..
1. 저장하기 1-1 save 메소드는 생성된 id를 반환한다. 2. 하나의 객체 가져오기 2-1. 객체를 지정된 클래스로 반환하고, 없으면 null이 반환된다. // 저장하기 SessionFactory factory = new Configuration() .configure("hibernate.cfg.xml") .addAnnotatedClass(Student.class) .buildSessionFactory(); Session session = factory.getCurrentSession(); try { Student tempStudent = new Student("Pilseong", "Heo", "heops79@gmail.com"); session.beginTransaction(); session...
1. 유저 생성하기 1-1 모든 권한 부여하기 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password' GRANT ALL PRIVILEGES ON *.* TO 'prod_recipe'@'localhost' 1-2 특정 DML만 부여하기 grant select on dev_recipe.* to 'dev_recipe'@'localhost'; grant insert on dev_recipe.* to 'dev_recipe'@'localhost'; grant delete on dev_recipe.* to 'dev_recipe'@'localhost'; grant update on dev_recipe.* to 'dev_recipe'@'localhost'; grant s..
- 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
- login
- 매핑
- 스프링
- 하이버네이트
- 로그인
- 설정하기
- Rest
- Angular
- jsp
- Many-To-Many
- Security
- MYSQL
- one-to-one
- WebMvc
- XML
- form
- spring boot
- 설정
- one-to-many
- RestTemplate
- 외부파일
- Spring
- crud
- 상속
- 자바
- mapping
- 스프링부트
- Spring Security
- Validation
- hibernate