전체 글(256)
-
영속성 전이(CASCADE)와 고아 객체
영속성 전이에 대해 많은 오해들이 있습니다. 연관관계 매핑이나 즉시, 지연 로딩과 어떠한 관계가 있을 것이라고 생각하는데요. 이번 시간에 영속성 전이에 대해 알아보면서 왜 쓰이고 언제 쓰이는지 그리고 주의점은 어떤 게 있는지 정리해보겠습니다. 영속성 전이 언제 쓰이는가? 특정 Entity를 영속 상태로 만들 때, 연관된 Entity도 함께 영속 상태로 만들고 싶을 때 사용합니다. 예) 부모 Entity 저장 시 연관된 자식 Entity도 함께 저장할 때 쓰임 코드로 이해해 보겠습니다. @Entity @Getter @Setter public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy ..
2022.05.25 -
즉시 로딩과 지연 로딩
프록시 포스팅에 이어서 즉시 로딩과 지연 로딩의 주제로 넘어가 보겠습니다. 지연 로딩 LAZY를 사용해 프록시로 조회 @Entity public class Member{ ... @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_ID") private Team team; ... } member 조회 시 (team을 Join하지 않고) member만 조회 쿼리 나가고 team 객체는 Proxy 객체로 생성됨. 이후실제로 team을 사용하는 시점에 초기화(DB 조회) 되면서 쿼리 나감 만약 Member와 Team을 자주 함께 사용한다면, 즉시 로딩 EAGER를 사용해 함께 조회 @Entity public class Member { ... @ManyToO..
2022.05.25 -
프록시(Proxy)
프록시는 그 자체의 개념뿐만 아니라 즉시 로딩, 지연 로딩을 온전히 이해하기 위해 알아두어야 하는 개념입니다. 프록시를 왜 써야 하는지부터 차근차근 알아보도록 하겠습니다. 프록시를 왜 써야 하는가? Member를 조회할 때 Team도 함께 DB에서 조회해야 할까? Team을 사용하지 않는 경우 = Team까지 조회를 하는 것은 리소스의 손해이다 해결 : 프록시를 써서 지연로딩을 이용하면, 실제 필요할 때 Team을 DB에서 조회하여 리소스를 절약할 수 있다. 프록시 em.find() vs em.getReference() em.find(): 데이터베이스를 통해서 실제 엔티티 객체 조회 em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 DB에 쿼리가 안 나가는데 객..
2022.05.25 -
[22.05.23 ~ 22.05.27] 속이 안 좋아, 좋았지만 ~이 아쉬웠어, 건강, 숫자 숙어
[5/23] 영어로 말하기💬 속이 안 좋아 / 소화가 잘 안돼 / 뭘 잘못 먹었나 봐 https://youtu.be/sID0mUWHNao Hey. Do you want to go out for lunch? Thanks, but I think I'll pass. I don't feel so good. I think it's something I ate this morning. * I don't feel so good. + 배 문질 나 속이 좀 안 좋아 * I think it's something I ate this morning. 오늘 아침에 뭘 좀 잘못 먹었나 봐 (something) doesn't sit (very) well in my stomach 난 (어떤 음식) 먹으면 속이 안 좋아. / (어떤 ..
2022.05.25 -
[22.05.18 ~ 22.05.20] 무리하다, 직장 영어, 공감
[5/18] 무리하다 https://youtu.be/095CqbsaUPA "무리하다" 표현은 다양합니다, "무리하다"라는 단어에 집중하기보단 문맥에 맞게 "무리하다"가 어떤 의미를 내포하고 있는지를 확인해보는 것이 더 중요합니다. 1. get carried away : 어떤 일에 심취해서 나도 모르게 지나치게 하게 되다. I met up with some friends yesterday for drinks and we got a little carried away. 어제 친구들 만나서 술 한 잔 했는데 좀 무리했어요. [추가] meet / meet with / meet up with 이 세 가지 표현을 굳이 비교하자면 다음과 같은 차이가 있습니다 - meet : 누구를 처음 만난다 - meet with ..
2022.05.24 -
시즌1 - #8 ~ #10 에밀리, 파리에 가다(2)
#8 "I'd like to share some ideas about ~"을 활용한 영작 미션 첨삭 전 1. 내가 이 학교 1등이야, 너에게 내 수학 노하우를 알려줄게. I'd like to share some ideas about Mathematics, you, know, I'm the top of the university. 2. 그녀는 구독자 30만 달성한 후 그녀가 어떻게 노력했는지 알려주고 싶어 한다. After she attained three hundred thousand subscribers, she'd like to share some ideas about how she did. 3. 그는 매주 토요일마다 운동 비법을 그의 친구들에게 알려준다. He'd like to share some ..
2022.05.24