일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- m:n
- 프로그래머스
- 런타임 상수
- 쿠키
- @SubscribeMapping
- 커밋 되돌리기
- spring
- DTO
- 쉘 스크립트
- 리눅스
- 무한정 대기
- @Autowired
- allocationSize
- API
- 백준
- 알고리즘
- 은행원알고리즘
- compgen
- BindingResult
- 파이썬
- 기본키 전략
- 컴파일 타임 상수
- intelij spring config
- Git
- application layer
- JDBC
- 오블완
- JPA
- 편향된 지수
- 티스토리챌린지
- Today
- Total
목록JPA (9)
둘셋 개발!
intro.테이블 설계를 참고해서 엔티티를 만들고 있었다.그런데 그 중 여러개의 테이블에서 복합키를 사용할 수 있었고, 그 중 하나는 autoIncrement였다.나는 @EmbeddedId 을 사용하고 id클래스를 생성하고 그 안에 autoIncrement 변수에 @GeneratedValue(strategy = GenerationType.IDENTITY) 애노테이션이 붙였다.하지만.... 복합키 내부의 @GeneratedValue(strategy = GenerationType.IDENTITY)는 동작하지 않는다복합키 내부의 해당 애노테이션은 동작하지 않는 이슈가 있다. 이 전략은 키 생성을 db에게 위임한다.그래서 엔티티를 영속성 컨텍스트에 영속화하려고 할 때, db에 저장한 후 db로 부터 기본키..
intro. jpa를 공부하다가 orphanRemoval 옵션이 제대로 동작이 안됐다. orphanRemoval 옵션을 true로 하면 고아객체 발생시 해당 고아객체는 삭제되어야 하는데 삭제가 안된 것이다. 클래스 구성 클래스로는 Parent와 Child가 있고, Parent : Child는 1: N의 관계를 가지고 있다. Parent.class @Entity public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent", orphanRemoval = true) // 옵션 적용 private List childList = new ArrayList(); public voi..
(우선 일대다 양방향은 잘 쓰지 않는다) 일대다 양방향을 공부하던 도중, 다 방향에 있는 엔티티에 @ManyToOne만 달아도 연관관계 된 객체를 알 수 있는데 왜 @JoinColumn(name = "~~", insertable=false, updatable = false)을 넣어야 되는지 궁금해졌다. 그래서 @ManyToOne만 달아보았다. 예제는 post와 comment이다. post.java@Entity public class Post { @Id @GeneratedValue private Long id; @OneToMany @JoinColumn(name = "POST_ID") private List comments = new ArrayList(); //... } comment.java@Entity ..
영속화 순서에 따라 예상치 못한 update쿼리가 나갈 수 있다. 다음 예시를 보자!! 코드 Member.class package hellojpa.entitiy; import javax.persistence.*; @Entity public class Member { @Id @GeneratedValue private Long id; private String username; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; // getter, setter } Team.class package hellojpa.entitiy; import javax.persistence.*; import java.util.ArrayList; import java.ut..