30%
61,600원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실전! 스프링 데이터 JPA
DTO에서 외래키 값에 대해 질문이 있습니다.
영한님 안녕하세요 DTO를 만들 때 외래키에 해당 되는 값은 그 ID를 넣도록 하는 것 같은데 DTO 내에서 toEntity() 메서드에서는 그 객체를 넣을 때 어떤 방법으로 하는 게 가장 좋은지 모르겠습니다. contrller나 service에서 dto에 있는 id로 객체를 찾은 후 toEntity()에 파라미터로 넣는 방법을 생각해봤는데 보통 DTO에 외래키 데이터가 있을 때는 toEntity()를 어떻게 처리하는지 궁금합니다.
- 미해결실전! 스프링 데이터 JPA
메소드 이름으로 쿼리 생성에서 질문이 있습니다.
안녕하세요. 강의 듣다가 궁금한 것이 있어서 질문을 드립니다. data JPA repository 에서 메소드를 이용해 작성하던 것 중 궁금한것이 있습니다. List<Member> findByUsernameAndAgeGreaterThan(String username, int age); 여기에서 findByUsername에서 Username이 @Entity에서 username을 참조하는 것인지 아니면 db에 있는 username을 말하는 것인지 궁금합니다. 답변 자세히 해주시면 감사하겠습니다...
- 미해결실전! 스프링 데이터 JPA
즉시로딩 처리 시 findAll()일 경우 동작이 안되는 이유가 궁금합니다.
강의 중에는 실무에선 즉시로딩을 사용하지 말라고 하셨지만 테스트 차원에서 즉시로딩으로 findAll()을 조회하면 내부에서 left outer join이 걸리는 않는 현상을 확인했습니다. 동일한 조건에서 findById()로 처리하면 left outer join이 걸립니다. OneToMany, ManyToOne 모두 동일하게 동작을 하던데 혹시 이렇게 동작되는 이유가 있을까요??? 미리 답변 감사드립니다.
- 미해결실전! 스프링 데이터 JPA
테이블 파티셔닝 질문드립니다.
안녕하세요 영한님 강의 정말 잘 듣고있습니다! 다름이 아니라 진행하는 프로젝트 DB에서 연간 1억건이 넘는 row 가 쌓이는 통계 테이블이 있어서 조회 성능을 어떻게 해결하면 좋을지 문의드립니다. 참고로 DB는 마리아입니다. 테이블 파티셔닝을 이용해 진행하려고 하는데 JPA로도 문제없이 파티셔닝을 적용할 수 있는지 궁금합니다. 또 강의와는 좀 다른 얘기지만 통계 테이블의 pk컬럼과 index를 어떤식으로 구성하는 것이 좋을지 질문드립니다. 관련 내용이나 키워드를 알려주시면 정말 감사하겠습니다ㅠㅠ
- 미해결실전! 스프링 데이터 JPA
스프링 JPA에서의 연관관계
질문이있습니다. 일반 JPA를 사용할때에는 1:N인 경우 lazy 초기화를 해야하는 걸로 알 고있습니다. spring data 가 만들어주는 repository method에서는 이런 1:N 1:1 등 양방향관계가 있을때 어떻게 작동이되는것인가요? 따로 Lazy 초기화 처리를 하지 않아도 되는것인가요?
- 미해결실전! 스프링 데이터 JPA
안녕하세요, Spring-data-JPA와 Jdbc 의존 관계 질문드립니다 !
안녕하세요 강사님 !! 좋은 강의 덕분에 스프링을 한 번도 사용해보지 않았지만, 빠르게 잘 적응 중 입니다, !!! 테스트 중에 spring-data-jpa와 spring-data-jdbc 의존성 추가했을 때, 오류가 발생하는 것을 발견하여 질문 드립니다. 현재 상황은 Gradle에 아래와 같인 의존 관계를 설정 하였습니다. 사진에서 보이는 바와 같이 기존에 spring-data-jpa를 먼저 추가하였고, 그 이후 spring-data-jdbc를 추가하였습니다. 하지만 spring-data-jdbc는 빌드에 실패하였고, spring-jdbc는 빌드에 성공하였는걸 확인하였습니다. 실패했을 때의 에러 로그는 아래와 같습니다. 오류 메시지를 확인해보았을 때 XXXRepository를 오버라이드 할 수 없다고 출력이되는데 저의 추측으로는 spring-data-jpa, spring-data-jdbc에서 component scan을 할 때, 순서상 어떤 것이 먼저 등록하는지는 모르겠지만 두 의존성이 동일한 클래스를 Bean으로 등록하려고 할 때 발생하는 에러인 것 같습니다. (현재 등록된 CrudRepository를 상속 받은 interface에는 모두 @Repository 어노테이션을 걸어두었습니다.) 혹시 저의 생각이 맞다면 이 부분은 어떻게 해결할 수 있는지 알 수 있을까요 ??? 만약 아니라면 어떤 부분이 이슈인지 궁금합니다. !!! 마지막으로 spring-jdbc같은 경우는 왜 오류가 발생하지 않았는지 궁금합니다 !!!
- 미해결실전! 스프링 데이터 JPA
Spring Data JPA로 Redis를 사용할 수 있을까요?
안녕하세요 영한님 언제나 좋은 강의 너무 감사합니다 ! 다름아니라 질문이 있습니다 보통 Mysql, h2 데이터베이스를 연결하는데, 혹시 Redis 를 캐시용도가아니라, 진짜 DB처럼 이용하는 방식으로 JPA를 사용할 수 없을까요?
- 미해결실전! 스프링 데이터 JPA
Page 관련 문의 건
안녕하세요. 항상 강의 잘 듣고있습니다. 다름이 아니라 강의 듣는 와중에 궁금한게 생겨서 문의 드립니다. 1. 현재 실무 하실 때 Page<DTO> 와 Pageable를 그대로 사용하시는지 아니면 별도의 PageRequest와 PageResponse를 따로 만들어서 사용하시는지 궁금합니다. 2. Page를 사용하게 되면클라이언트 쪽에서 페이징 처리 할때 필수적으로 필요한 정보(totalElements, offset, limit)와 Contents 정보를 외에 많은 정보들이 응답 시 포함 되게 되는데 네트워크 단에서의 오버헤드라고 보지는 않나요? 이상입니다. 감사합니다.
- 미해결실전! 스프링 데이터 JPA
save시 중복 pk 값 입력 검증?
안녕하세요. 강의 감사하게 잘 보고있습니다. pk 값을 squenceGenerator를 사용해서 save하는 방법을 생각해봐서 테스트 중인데요. 가끔 sequence가 중복이되어 save시에 다른 동작을 하지않고 update로 진행되어 중복된 pk 값으로 db에 데이터가 쌓이게 됩니다 ㅠ save 시에 pk값이 중복되어 update되어 생기는 문제를 해결할 수 있는 방법이 따로 있을까요?
- 해결됨실전! 스프링 데이터 JPA
pk 질문 드립니다~
안녕하세요. 강의를 보다가 궁금한게 있어서 질문 남깁니다! pk값만 자바에서 기본형을 사용하지 않고 래퍼 클래스로 사용하시는 이유가 궁금합니다! 그리고 @GenerateValue를 하면 persist할 때 값이 셋팅된다고 하셨는데, 리플렉션을 이용해서 셋팅되는 건가요? 원래 merge에서 null인지 확인하기 때문에 래퍼 클래스를 사용하는줄 알았는데, 기본형일 경우 0인지 확인 하더라고요~ 그제가 잘못 알고있었던 거였네요..ㅎㅎㅎ 그럼 어떤 이유에서 래퍼 클래스가 사용되는 건가요??!
- 미해결실전! 스프링 데이터 JPA
Transaction에 관해서 질문드립니다.
오랜만에 질문 드리네요!. 완강하였지만 복습하고 있는데, OSIV가 켜있는 상태면 (기본이 켜있지만) 스프링 데이터 jpa에서 save를 하고 나더라도 트랜잭션 끝나고 플러시 커밋하더라도 영속성 컨텍스트는 살아있지 않나요?? 그래서 비즈니스 계층에서 수정은 되지않지만 (트랜잭션 범위안에서 수정,제거가 가능하고), 조회가 가능한것처럼. 강의에서 없어진다고 말씀하셔서 제가 잘못 알고 있나해서 질문드립니다.
- 미해결실전! 스프링 데이터 JPA
join시 성능관련 질문드립니다.
사용자별 약관동의 내역을 조회할 필요가 있습니다. 그래서 아래와 같이 처리했습니다. @EntityGraph(attributePaths = {"userTerms", "userTerms.terms"})@Query("select a from Account a where a.uid =:uid") Terms : 약관 entity UserTerms : 사용자별약관동의 내역 entity결과는 정상적으로 확인할 수 있는데 entityGraph로 terms까지 가져오다 보니까 terms의 content(약관내용)까지 가져옵니다. 약관내요이 굉장히 긴 글이라서 조히대상에서 제외하고 싶은데요.이 경우에는 JPQL로 필요한 필드만 DTO로 받는 방법말고 손쉽게 처리하는 방법은 없을까요?
- 미해결실전! 스프링 데이터 JPA
@EntityGraph로 ToMany 를 가져왔을 때 질문이 있습니다.
안녕하세요, 늘 좋은 강의 잘 듣고 있습니다. 다름이 아니라 @EntityGraph를 듣다가 문득 예전 강의에서 ToMany 관계를 조인하게 되면 중복 데이터가 난다고 들었던 것 같은데, 프로젝트에서 @EntityGraph 사용 중 다음과 같이 예상치 못한 현상을 보게되어 문의드립니다. 보기에 JPQL과 함께 사용하지 않으면 @EntityGraph만 사용해도 중복 데이터를 해결하는 것 처럼 보이는데, 제가 이해한게 맞을까요? 그리고 어떤 이유로 인하여 위와 같은 차이가 생기는지, 실무에서 첫번째처럼 사용해도 괜찮은지 궁금합니다. 문서들을 찾아보다가 답을 구하기 힘들어 도움을 요청드립니다. 감사합니다!
- 미해결실전! 스프링 데이터 JPA
jpql update 문 관련 질문
갑자기 궁금증이 생겨 질문드립니다. 벌크 연산은 member2에 age를 +1시켜줍니다. 이떄 db에 쿼리가 넘어가서 db상에 member2 age는 5가되고 영속성컨테스트안에 member2 age는 4가 그대로 유지됩니다. 이 상황에서 플러쉬를 하면 왜 변경감지가 일어나지 않나요? Member member1=new Member("member1",2,null);Member member2=new Member("member2",4,null);memberJpaRepository.save(member1);memberJpaRepository.save(member2); int i = memberJpaRepository.bulkAgePlus(3); em.flush();
- 미해결실전! 스프링 데이터 JPA
리포지토리 분리
리포지토리를 분리하신다고 하셨는데1. 정말 간단한 쿼리는 스프링 데이터 JPA 리포지토리에서 구현, 쿼리메서드 기능들을 이용하고조금 복잡하고, 강의에서 설명해주신 다양한 이유에 해당하면 사용자 정의 리포지토리를 구현해서 사용하고더 복잡한 동적쿼리들은 따로 클래스를 만들어서총 3개의 리포지토리를 운영하게 되는건가요?2. 서비스와 리포지토리는 1:1로 매핑하는게 좋다고 들었는데 그럼 3개의 서비스클래스도 따로 만드나요?3. 핵심 비즈니스 로직과 단순 화면 관련 로직도 구분은 서비스계층에서 이루어지나요? 그럼 하나의 서비스에서 두개의 리포지토리를 접근해도 괜찮나요??아직 아키텍처를 고민할만한 실력은 아니지만궁금점이 해결되지 않아 질문남깁니다..
- 미해결실전! 스프링 데이터 JPA
영속성 컨텍스트 관련 질문입니다.
혹시 트리거를 사용하게 되면 영속성 컨텍스트를 통해 데이터가 바뀌는 것이 아닌데 마이바티스/혹은 데이터베이스를 직접 조작하는것처럼 적용되는지 궁금해서 질문남깁니다. 오늘 데이터상 오류를 발견하고 1주일전의 데이터를 수정했을 때 트리거를 적용시켜서 1주일 전부터 오늘까지의 데이터를 수정하게 된다면 영속성 컨텍스트는 어떻게 적용이 되나요?? 예를 들어서 dataA.getTemp() = 100 인 상태에서 dataB의 어떠한 데이터를 변경했을 때 트리거가 동작해서 dataA의 Temp가 변경된다면 영속성컨텍스트는 트리거에 의한 데이터 변경도 감지할 수 있나요?
- 해결됨실전! 스프링 데이터 JPA
도메인 클래스 컨버터 관련 질문입니다.
삭제된 글입니다
- 해결됨실전! 스프링 데이터 JPA
@EnableJpaAuditing(modifyOnCreate = false) 짐문입니다
강사님 강의 잘보고 있습니다. 다름아니라 @EnableJpaAuditing(modifyOnCreate = false) 옵션 관련 질문인데요 @EnableJpaAuditing(modifyOnCreate = false)이렇게 설정하고 테스트를 해봤는데 @LastModifiedBy와 @LastModifiedDate에 null이 들어가는 걸 기대했는데 null 값이 아니더라구요 혹시 제가 잘 못이해한 부분이 있을까요? 테스트 코드는 다음과 같습니다. BaseEntity 설정은 다음과 같습니다. AutiorAware 빈 설정은 다음과 같습니다. 스프링 부트 설정은 다음과 같습니다. 위와 같이 설정하고 테스트가 실패하길 기대했지만 성공했고 성공 후 콘솔에서는 다음과 같이 값이 들어가 있는 걸 확인했습니다. 어떤 부분이 빠졌고, 잘 못된 부분이 있을지 확인 해주시면 감사하겠습니다
- 해결됨실전! 스프링 데이터 JPA
강사님 락관련 질문있습니다.
강사님 안녕하세요! 강의 잘 보고 있습니다. 실무에서 애플리케이션에서 데이터를 DB로 저장할때 애플리케이션을 사용하는 사용자가 정해져 있기 때문에 딱히 락에 대해서 고민해 본적이 없었습니다. 그러다가 강의를 보면서 문득 든 생각이 인기있는 쇼핑몰에서 트래픽이 몰려서 특정 상품 구입에 여러명이 동시에 구매 버튼을 눌렀을 때 재고 수를 맞추기 위해서 왠지 락이 필요할 것 같다는 생각이 문득 들었습니다. 하지만 락을 사용하면 성능 이슈가 발생한다고 하셨는데, 그렇지만 재고를 정확하게 관리하려면 필요할 것 같기도 하다는 생각이 들었지만 제기준에서는 실무에서는 트랜잭션도 READ_COMMIT레벨에서만 사용했기 때문에 감이 잘 오지는 않습니다. 혹시 락이 적용된 사례를 한두가지 알려주실 수 없을까요? 엉뚱한 질문이지만 답변해주시면 감사하겠습니다
- 해결됨실전! 스프링 데이터 JPA
@Transaction 과 관련된 질문입니다~
안녕하세요 강의 잘 듣고 있습니다 문의가 있어서 질문 드립니다 특정메소드에서 @Transactional(propagation = Propagation.REQUIRES_NEW) 라는 옵션이 있습니다. 기존 트랜잭션에 영향을 받지 않는 신규 트랜잭션이 발생되는것이라고 알고 있는데 주입받은 entityManager 객체를 활용하여 저장하고자 하는 객체 persist() 를 수행하고 메소드가 종료되었을때 insert 쿼리가 발생할줄 알았는데.. 부모 트랜잭션이 종료가 되서야 반영이 되네요. 이를 해결할수 있는 방안이 있을까요?