일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AOP
- http
- JDBC
- 백준
- 알고리즘
- pointcut
- 스프링
- springdatajpa
- transaction
- spring
- java
- Spring Boot
- SpringBoot
- QueryDSL
- Greedy
- Exception
- 인프런
- 그리디
- Thymeleaf
- db
- Android
- 스프링 핵심 기능
- Proxy
- 김영한
- JPQL
- 스프링 핵심 원리
- Servlet
- kotlin
- jpa
- 자바
- Today
- Total
목록CASCADE (4)
개발자되기 프로젝트
1. 현상 댓글이 있는 글을 삭제하려고 시도하면 에러가 발생한다. Referential integrity constraint violation 예외가 발생한다. Referential integrity constraint violations는 참조 무결성 제약조건 위반을 말한다. Comment(N)와 Post(1)의 연관관계는 Comment가 연관관계의 주인이다. 따라서 COMMENT에서 POST의 PK를 FK로 가지고 있다. log를 보면 FK에서 문제가 발생했고, 해당 예외는 FK를 참조할 수가 없어서 발생한 문제이다. 현제 Post 삭제 로직은 post(1)만 삭제하지 연관관계에 있는 coment(N)를 삭제하지 않는다. 따라서 comment입장에서는 post가 삭제되면 가지고 있는 FK로 참조할 데..
1. 영속성 전이 : CASCADE 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장. CASCADE를 사용하지 않으면 일일히 저장해 줘야한다. Child와 Parent는 양방향 다대일 관계 Child child1 = new Child(); Child child2 = new Child(); Parent parent = new Parent(); parent.addChild(child1); parent.addChild(child2); em.persist(parent); em.persist(child1); em.persist(child2); tx.commit(); 흠 귀찮은데? 요 때 쓰는게 CASCADE Parent ..
1. 엔티티에는 가급적 Setter를 사용하지 말자 Setter가 모두 열려있으면 변경 포인트가 많아서 유지보수가 어려워진다.. 2. 모든 연관관계는 지연로딩으로 설정! 엄!청!중!요! EAGER타입은 예측이 어렵고, 어떤 SQL이 실행되는지 추적하기 어렵다. - 특히 JPQ을 실행할 때 N+1 이슈가 발생한다. - 만약 A와 B가 일대다 관계인데, EAGER 타입이다? - A불러오는 쿼리 실행하고 n개의 B를 불러오는 쿼리 바로 실행됨 ㄷㄷ JPA Fetch type, N + 1 이슈 1. Fetch Type이란? Entity 를 조회할 경우 해당 Entity와 연관관계에 있는 Entity를 어떻게 가져올 것인지 설정하는 값이다. - 연관 관계에 있는 Entity 를 모두 가져온다 → Eager - 연..
1. Cascade란? 영속성 전이로, Entity의 상태(생애주기)의 변화가 있을 때 연관 관계의 entity에 상태변화(생애주기)를 전파한다. 즉 Cascade는 연관관계의 entity에 영속성을 전이시켜준다. 따라서 @OneToOne, @OneToMany 등 과 같이 연관관계가 있을 때 설정할 수 있다. Entity 생애 주기 bsh6463/BookManager Contribute to bsh6463/BookManager development by creating an account on GitHub. github.com 1. 비영속상태, new, transient 영속성 컨텍스트가 해당 엔티티 객체를 관리하지 않는 상태 @.. bsh-developer.tistory.com 2. Cascade 설정..