일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ORM
- Thymeleaf
- 자바
- 공백검사
- 자바 ORM 표준 JPA 프로그래밍
- 게시판 작성자를 아이디로
- JPA
- msa
- UUID
- spring security
- java
- 관계형 데이터베이스
- 유효성검사
- 스프링 시큐리티
- 모던 자바스크립트 Deep Dive
- 자바스크립트
- 출처 모던 자바스크립트 Deep Dive
- 중복되지 않는 값 만들기
- Today
- Total
목록JPA & Querydsl (3)
인지용
# 내부조인 외부조인 연관관계를 사용할때 nullable을 false로 적용하면 내부조인이 되고 nullable을 true로 적용하면 외부조인이 된다. 내부조인이 외부조인보다 성능과 최적화면에서 유리하다. 그래서 설정할때 필수관계면 nullable = false를 사용하자 # 지연로딩 즉시로딩 일반 entity는 프록시가 지연로딩 해주지만 컬렉션 entity는 컬렉션래퍼가 지연로딩 해준다. 컬렉션은 하나 이상 즉시로딩 하는걸 권하지 않는다. # 연관관계의 주인 연관관계의 주인만이 db에 매핑된다. 주인만이 외래키를 관리(등록,수정,삭제) 할 수 있다. 주인은 mappedBy 속성을 사용하지 않는다. 즉 주인이 아닌곳에다 mappedBy 속성을 적용한다. 주인을 정한다는것은 사실 외래 키 관리자를 선택하는..
기본키를 @Id 어노테이션만 사용해서 애플리케이션에서 직접 할당하는 대신에 DB에서 생성해주는 값을 사용하려면 어떻게 매핑해야할까 예를들어 오라클의 시퀀스 오브젝트, MySQL의 AUTO_INCREMENT 기본키란 ? 영속성 컨텍스트에 저장할 키 값으로 사용하기 위해서 필수적인 키이다. JPA가 제공하는 데이터베이스 기본 키 생성 전략 종류 직접 할당 : 기본 키를 애플리케이션에서 직접 할당한다. 자동 생성 : - IDENTITY : 기본 키 생성을 데이터베이스에 위임한다. - SEQUENCE : 데이터베이스 시퀀스를 사용해서 기본 키를 할당한다. - TABLE : 키 생성 테이블을 사용한다. IDENTITY 전략 주로 MySQL에서 사용한다 IDENTITY 전략은 데이터베이스에 INSERT한 후에 기본..
JPA는 다양한 매핑 어노테이션들을 지원하는데 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn @Entity JPA사용시 테이블과 매핑할 클래스는 필수로 @Entity를 붙여야 한다. 주의사항 1 기본 생성자는 필수다. (파라미터가 없는 public 또는 protected 생성자) 2 final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. 3 저장할 필드에 final을 사용하면 안된다. @Table 엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑한 엔티티의 이름을 테이블 이름으로 사용한다. ( 사용할 테이블의 세부..