묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
em.flush 발생 시점에 대한 부가적인 질문
오랜만에 관련된 업무 진행하다가 발생한 궁금점에 대하여 질문드리게 되었습니다. 우선 한 트랜젝션의 영속성 컨텍스트에 대하여 쓰기 지연 저장소에 쌓인 쿼리가 flush() 되는 경우는 다음 세 가지로 이해하였습니다. flush() 직접호출트랜젝션 commit()JPQL 직접 발생시, 해당 JPQL 발생 이전 다음과 같은 연관관계가 가정되어 있다고 해보겠습니다. public class Car{ @Id private Long id; } public class Wheel { @Id private Long id; @ManyToOne @JoinColumn(name = "car_id") private Car car; } Wheel 이 연관관계의 주인이며, Car 와 M:1 관계로 매핑되어 있습니다. 이 때, 다음과 같은 로직을 수행해보겠습니다. (1L 의 Wheel 이 2L 의 Car 에 매핑되어 있음) Wheel wheel = em.find(Wheel.class, 1L); wheel.setCar(null); // 1) em.createQuery("delete from Car c where c.id = :id") .setParameter("id", 2L) .exeucteUpdate(); // 2) 이와 같이 수행되었을 때, 1번 시점에서 영속성 컨텍스트에 보관중인 Wheel 의 Car 값이 변경되어 Update 쿼리가 발생하여 쓰기 지연 저장소에 저장되었을 것으로 추측합니다. 2번 시점은 위에서 말한 'flush 발생시점' 중 3번에 해당한다고 생각했습니다 (JPQL 직접 수행). 그렇다면 쓰기 지연 저장소에 쌓인 Update 쿼리가 나간 이후, 직접 수행하려는 Delete JPQL 을 발생시켜서 아무 문제 없이 수행되어야 하는거 아닌가 싶었는데, 위 로직은 FK 제약조건에 위배되어 수행되지 못합니다. 1번과 2번 사이에 강제로 em.flush() 를 진행해주면, 그제서야 update 쿼리가 발생한 뒤에 delte 쿼리가 발생하여 위 로직이 아무 에러 없이 수정되는 모습을 확인했습니다. 왜 이 상황에서는 flush 가 자동으로 발생하지 않나요? 열심히 찾아봤을 때... JPA 측에서 제공하는 3번 (JPQL 발생시 flush 됨) 에 대한 명확한 [기준] 은 제시하고 있지 않은 것으로 보이는데 맞을까요??
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
안녕하세요 선생님
안녕하세요 선생님 항상 강의 잘 보고있습니다!! 다름이 아니라 em 관련해서 질문을 드리고 싶습니다 확실히 알고 넘어가야할거 같아서요! em이 부모를 기준으로 몇 배 하겠다 이거로 알고 있는데 혹시 맞을까요?? 그렇다면 .tilte h2 의 부모는 .title인데 뭐를 기준으로 잡는걸까요 헷갈려서 질문드립니다 감사합니다!
-
미해결애플 웹사이트 인터랙션 클론!
em , rem 차이
안녕하세요 강의 정말 잘보고있습니다! 선생님꼐서 padding 에 rem 단위를 쓸떄도 있고 em 단위로 쓸때가 있으신데 제가 알기로는 rem 은 root 단위를 em 은 현재 폰트의 단위에 따른 단위로 알고있는데 선생님께서는 어떤 기준으로 rem과 em 을 구분해서 padding 값이나 margin 값에 사용하시는지 궁금합니다!
-
미해결애플 웹사이트 인터랙션 클론!
폰트사이즈에서 em/rem이 뭔지 궁금합니다
안녕하세요! 폰트사이즈를 px, em, (오늘 처음봤지만)rem 처럼 다양하게 쓰던데 이때 em과 rem이 뭔지 잘 모르겠어요 검색해봤는데도 잘 모르겠더라구요ㅠㅠㅎㅎ
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
px 대신 rem이 현업에서 더 많이 쓰이는가요 ?
HTML CSS는 책으로한번, 다른 인터넷강의로 한번 접해본적이 있고 ES6위주의 공부를 하고싶어 강의를 수강했습니다. 그래도 순서대로 보자 싶어서 HTML 과 CSS강의를 마쳤는데, 수업중에 px단위는 거의 사용되지 않고 rem 단위를 주로 사용하시 는것 같아 의문점이 들어 문의드립니다. 지금까지 봤던 책이나 강의, 다른 사람의 포트폴리오를 보면 rem단위보단 px단위를 다들 사용하시던데 rem 단위가 최신html/css에서 더 선호되는 경향인지가 궁금합니다. ( 마치 제가 수평정렬을 여태껏 float만 사용해왔는데 이걸 flex로 바꾸는게 앞으로 더 좋은것처럼 px를 항상 사용했는데 만약이게 나쁜 습관이라면 고쳐야 하는가 싶어서요 ㅠ )