부모엔티티에서 자식엔티티를 mappedby로 양방향 잡으면 readonly로 데이터 생성 변경 모두 불가하지만 cascade를 사용하면 가능하다라고 이해하는게 맞는건가요? 반대로 자식엔티티에 조인된 부모엔티티에 cascade하고 자식엔티티에 부모엔티티넣으면 pk뿐만 아니라 부모도 함께만들어 진다 즉, 방향성이든 주인이든 상관없이 같이 영속상태가되어 저장된다고 이해하면 맞을까요?
예제에서는 Entity에 Setter가 존재하여 Entity class 내에 set이 가능했지만... 강의에서 강조했듯이 Setter를 제거하고 DTO를 사용을 하게된다면 연관관계 메서드는 DTO내에 존재하게 되는건가요? 아니면 생성자나 builder를 통해서 set 하게 되는걸까요?
안녕하세요 선생님 좋은 강의 너무나 감사드립니다. 다름이 아니고 강좌 듣는도중 궁금한 부분이 있어 질문드립니다. 이전 강의 "도메인 모델과 테이블 설계" 강좌와 이번 강좌내용에서 ORDERS와 DELIVERY는 OneToOne 단방향 매핑이라고 이해를 하였는데 [그림1] - 엔티티 클래스 개발1 강의 내용중 회원엔티티 분석 설계도중 일부 [그림2] - 도메인과 모델과 테이블 설계 강의 내용 강의 29분경 실제 엔티티를 설계하는 부분에선 mappedby를 사용하여 OneToOne 양방향 매핑한거 같아 질문드립니다. [그림3] Order 엔티티 [그림4] Delivery 엔티티 아직 학생인데 선생님 덕분에 JPA를 쓰는 회사로 취업하고싶네요. 좋은 강좌 정말 감사합니다.
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > No tests found for given includes: [jpabook.jpashop.MemberRepositoryTest](filter.includeTestsMatching) * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s 테스트 맴버 실행 도중에 위와 같은 오류가 발생하였습니다. 뭐가 문제인걸까요? ㅠ
안녕하세요. spring security 권장사항이 BCrypt라고 해서 조금 찾아보고 테스트를 해봤는데요. <첫 번째 시도> password = !@#$password1234 passwordHashed = $2a$10$foL9uBBw3knu9QoKmVb64.pRTRsxy96NQUQanjhOzl8D1yEoLs73m isValidPassword = true <두 번째 시도> password = !@#$password1234 passwordHashed = $2a$10$abpfdjC6qWnj687evfjzx.bV0Xlkas7wcx0s8OT2UwQD1Huo54oyi isValidPassword = true 보면 솔트를 랜덤으로 생성하기 때문에 인코딩된 패쓰워드가 다르게 나오는데 어떻게 인증이 되는건가요..? 어.. 그러니까 만약 Bcyrpt 솔트 기본값 10으로 회원등록을 하고 (첫 번째 시도) 이 걸로 다시 로그인을 하면 두 번째 시도의 값이 나와서 두 개가 다르다고 인식을 할 거 같은데 어떻게 옳은 패스워드로 스프링 시큐리티가 판단하는지 궁금합니다. 아니면 솔트를 사용하는게 아닌건지..궁금합니다.
https://www.notion.so/bff1425f2f1b4bf2bf505d2a1024f837 1권 4번문제입니다 답안에는 3) 입력 : a = [1, 2, 3], 출력 : class 'list' 라고 적혀있지만 문제에는 3) 입력 : a = 'p', 출력 : class 'char' 으로 적혀있습니다 답안지를 3) 입력 : a = 'p', 출력 : class 'str'이 맞는 출력값이므로 3) 입력 : a = 'p', 출력 : class 'char'은 잘못되어 정답은 '3번' 입니다 로 수정해야하지 않을까 싶습니다
트위치에서 페이지 검사를 해 보니 제목이랑 날짜를 감싸고 있는 태그가 <p class="tw-font-size-4 tw-strong"> 이렇게 바뀌어 있어서, 클래스 이름 부분만 바꿔서 코드를 돌렸는데 작동이 안 되네요. 그런데 예시처럼 "tw-flex"로 클래스 이름을 검색하면 작동이 됩니다. "tw-flex"라는 클래스 이름을 가진 태그가 페이지에 없는데, 왜 이렇게 작동하는지 설명해 주시면 감사하겠습니다~~ 그리고 늘 유익한 강의영상으로 큰 도움 받고 있어요. 감사합니다~
A->B->C 로 참조가 되어 있어서 A를 지우려면 B를 먼저 삭제하고 B를 지우려면 C가 먼저 삭제되어져야 한다고 했을 때, 만약 C가 A를 참조하게 될 경우 싸이클이 생겨서 서로 삭제가 안되는 문제가 생기는데인. 웹던이나 DB단에서 c->a로 참조를 걸려할 때 잘못된 것으로 인지하고 막고 싶은데. 보통 이럴때는 어떤식으로 해결을 해야하나요?
간단한 조회는 Controller 에서 직접 Repository 를 사용하기도 한다. 라는 설명에 대한 질문입니다. 예제에서는 모든 Transaction 이 Service layer 에서 관리되는데 Controller에서 직접 Repository 를 접근할 때에는 tx 가 암묵적으로 생성되는 것인가요?
안녕하세요? 회원기능 테스트 강의 중 질문드립니다. @Trnasactional이 적용된 @Test에서 persist를 해도 DB에 안나간다고 하셨는데 이는 H2 DB에서만 그런건가요? MySQL도 그런가요? H2의 경우 sequence를 이용해 @GeneratedValue를 관리하는데 (로그 보면), MySQL의 경우는 auto_increment를 사용하면 DB에 한번 다녀와야 (flush되어야 = insert가 나가야) member의 id를 알 수 있는게 아닌가 해서요. 비슷한 사례(?)로 Spring Data JPA에서 .save(entity)만 해도 flush 되서 insert 쿼리가 나가는 것처럼요. 강의 잘 보고 있습니다! 답변 미리 감사드립니다.
회원 서비스 개발에서 validateDuplicateMember를 할 때에 동시에 회원가입이 이루어질 때 방지로 name에 유니크를 걸어 주신다고 했는데 이해가 잘 되지를 않습니다. 보통 이름이 같은 사람도 많은데 name 에 unique를 주어도 되는건지 궁금하고요. 동시에 일어났을 때 방지하는 법에 대해 좀 더 자세히 알고 싶습니다~
안녕하세요 김영한님 강의 너무 재미있게 잘 보고 있습니다. 소개 영상에서 JPA 약을 어쩜 그렇게 잘 파시던지.. 보면서 "그래 이게 내가 원하는 세상이야" 하고 바로 결제하여 재밌게 보고 있습니다. 물론 책도 구매하여 모니터 받침으로 잘 쓰고 있습니다. ^^b 한 가지 궁금한게 있는데, 아크 관계의 경우에서는 JPA에서 어떻게 처리해야 될지 잘 모르겠습니다. 아크 관계가 실무에서 굉장히 빈번하게 쓰인다고 하는데, 우형에서는 아크 관계를 JPA로 어떻게 매핑 하여 처리하고 계신지 답변해 주시면 감사드리겠습니다.^^