inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

repository 관련 질문입니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 안녕하세요 김영한님 강의를 듣다 의문점이 생겨서 질문을 드립니다. 무료 강의 수강 후 해당 강의를 JPA 기본서와 함께 공부 중인 학생입니다. repository관련해서 어떤 방식이 맞는지 헷갈려서 질문드렸습니다. 무료 강의 기준에선 repositry안에 있는 interface를 상속받아서 엔티티이름Repository형식으로 구현하셨는데 해당 JPA활용1 강의에선 상속 없이 class파일로 만들어서 어떤 방식이 맞는지 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 1 좋아요 2 조회수 449

static 메서드 질문

해결됨

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. findPay 메서드가 static이면 이 안에서 호출되는 메서드는 static이어야 하는것 아닌가요? equals 메서드는 String 메서드로 단지 option에만 쓰여서 해당되지 않는 건가용

  • java
  • 객체지향
재혁 댓글 1 좋아요 0 조회수 493

2024년 1월 기준 p6spy dependency 추가

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' 1.9.0으로 바꾸시면 나올겁니다!

  • java
  • spring
  • spring-boot
  • jpa
동형 댓글 3 좋아요 7 조회수 996

Cannot resolve symbol 'SpringBootApplication'

해결됨

인터넷에서 찾아본 해결책을 다 시도해 봐도 해결이 안되네요 ㅠㅠ Try it “File ▸ Invalidate Caches/Restart ▸ Invalidate And Restart” 시도해 보아도 안됨. Gradle에서 Reload All Gradle Projects를 해보아도 안됨. File → Project Structure 를 클릭한 후에 " Project Settings " 에 Project SDK 가 제대로 설정되었는지 확인해 봐도 안됨. Settings → "Build, Execution, Deployment" → "Build Tools" → Gradle 에 들어가 버전 확인해 봐도 안됨.

  • java
  • spring
  • springboot
Jay J 댓글 1 좋아요 0 조회수 1816

섹션 8. 배열 - 문제와풀이3

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

안녕하세요 강사님 productAdminEx 문제에 관련해서 질문이 있습니다. productNames[productCount] = scanner.nextLine(); 이게 원래 배우던 형식으로는 두번째 사진처럼 for문 안에서 productNames[i] = scanner.nextLine(); 이런식이어서 예를들어 i = 0인경우 productNames 배열의 0번째 인덱스에 scanner.nextLine();으로 사용자가 입력한 값이 들어가는건 이해가 가는데 productNames[productCount] = scanner.nextLine(); 면 productNames배열 안에 있는 productCount에 scanner.nextLine();로 사용자가 입력한 값을 넣는건가요..? 그리고 그 사용자가 입력한 값이 들어가있는 productCount를 productNames배열이 위치를 참조하고 있는걸까요?? 이해가 잘 안가서 질문드립니다. (첫번째 사진) (두번째 사진) productNames[productCount] = scanner.nextLine(); 이게 productNames의 배열 자리에 productCount의 값을 넣는다는 의미인가요? 이해가 안갑니다..ㅜ

  • java
  • 객체지향
  • 배열
댓글 1 좋아요 0 조회수 252

외래키 제약 조건

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 강의 내용 중 "외래키를 꼭 사용해야할까?" 에 대한 물음에 두 가지 방안을 주셨는데요. 빠른 처리가 중요하며 실시간 트래픽이 많은 시스템인 경우 -> "외래키를 사용하지 않는 쪽도 고려해볼만 함" 돈이 왔다갔다 하는 등의 reliablity가 중요한 시스템인 경우 -> "외래키를 꼭 사용하라" 그렇다면 질문이 있습니다.질문 1. 만약 외래키 제약조건이 관계형 DB에 이미 걸려있는 상태라면 Java 코드상에서는 아무런 설정 없이 비즈니스 로직을 개발해도 되나요?질문 2. 만약 외래키 제약조건이 관계형 DB에 걸려있지 않고 관계형 DB의 성능상의 이슈로 외래키 제약 조건을 애플리케이션에서 해결해야 한다면 해당 로직 또한 개발해야 하나요? 즉, JPA가 외래키 제약 조건을 체크해주는 기능이 있는지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
수수깡 댓글 1 좋아요 1 조회수 534

hello와 hello-static.html 의 차이

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 주소창에 입력할 때static 폴더에 있는 hello-static과 index는 확장자 (.html)을 붙여야 하고templates 폴더에 있는 hello는 .html을 붙이면 안되는? 걸로 알고 있는데 이유가 궁금합니다! hello는 th: 문법을 사용해서 그런건가요? 확실하게 이유를 알고 싶습니다 ㅎㅎ

  • java
  • spring
  • mvc
  • spring-boot
asdf20834 댓글 2 좋아요 1 조회수 524

OSIV off인 아키텍쳐에서 궁금해서 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 영한쌤이 말씀해주신 Controller -> Application Service -> Domain Service -> Repository에서 Application Service: 트랜잭션의 시작, Domian Service에 있는 순수 도메인 로직들을 활용하여, 복잡한 애플리케이션 비즈니스 로직을 구성 Domain Service : 도메인에 대한 순수한 로직으로 구성. Application Service의 도구로서 활용됨. OSIV를 off 상태이기 때문에 Controller에 반환시 Application Service에서는 응답 Dto로 넘겨줘야 하는데 여기서 한가지 고민이 있습니다. 아키텍쳐는 위에서 아래로 순방향으로 흘러야 하는데 (역행, 순환 참초 X). Application Service에서 Controller단에 종속적인 응답 Dto를 넘기게 된다면, Application Service와 Controller간에 순환 참조와 역류 참조가 일어나지 않아 문제이지 않나 싶습니다... 상관이 없는지 아니면 어떻게 해결해야 좋을까요?

  • java
  • spring
  • spring-boot
  • jpa
두잇베스트 댓글 1 좋아요 0 조회수 429

category 엔티티에선 부모 객체가 왜 필요한건가요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

현재 실전 스프링부트와 jpa활용1편을 수강중입니다. 엔티티 클래스 개발2 에서 카테고리 클래스를 만들 때, 부모 객체는 왜 생성하는지 이해가 되지 않습니다..! 이미 카테고리 클래스 자체가 부모 클래스가 되는게 아닌가요..?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
ㅎㅅㅎ 댓글 1 좋아요 0 조회수 435

assertThat을 사용할때 질문이 있습니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 처음 강사님께서 save 메서드에서는 @Test public void save(){ Member member = new Member(); member.setName("Spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); Assertions.assertThat(member).isEqualTo(result); } 처럼 assertThat(member) 를 넣고 그 다음 isEqualTo(result)를 넣어 사용하셨는데, 이후에 findByName 에서는 @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring2").get(); Assertions.assertThat(result).isEqualTo(member1); } 이처럼 result가 먼저 나오고 그 다음 member를 넣어 사용하십니다. 혹시 무슨 차이일까요?

  • java
  • spring
  • mvc
  • spring-boot
병권 댓글 1 좋아요 2 조회수 900

h2에 테이블 생성이 안돼요...ㅠ

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 프로젝트 환경설정을 마치고 프로젝트를 돌려봤습니다. 똑같이 따라하면서요. 그런데 사진과 같이 create문까지 잘 나오는데 h2에 테이블이 안보여요 문제가 뭘까요? ㅠㅠ 주의 사항도 다 보면서 버전업 시켰는데도 안되네요.. 하루종일 구글링하고 찾아봐도 모르겠어요 도와주시면 감사하겠습니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김현민 댓글 1 좋아요 0 조회수 553

return;문과 boolean=false

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 배열 - 문제와 풀이3을 switch-case문으로 하던 와중에 종료 버튼이 break문으로 종료가 안되어서 검색해서 와일문을 false로 바꾸면 종료된다는 말을 듣고 boolean proudctFile = true; while(proudctFile){ /* 나머지 내용 생략 */ case 3 : System.out.println("프로그램을 종료합니다."); proudctFile = false; } 이런식으로 만들었습니다. 나중에 다른 강의를 보니 while(true){ /* 나머지 내용 생략 */ case 3: System.out.println("시스템을 종료합니다."); return; } return문을 써서 바로 종료하던데 어떤게 더 좋은 프로그램인지 궁금합니다.

  • java
생각하는자 댓글 2 좋아요 0 조회수 351

다운캐스팅에 대한 질

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 강의에서 다운캐스팅에 관해 이야기를 해주셨습니다. 부모 클래스인 Parent 타입의 변수에 Parent 인스턴스를 생성해서 참조값을 해당 참조변수에 넣고 Child 타입의 참조변수에 다운캐스팅을 하고 나서 해당 child 메서드를 호출하려고 했을 떄 오류가 발생했습니다. 여기서 영한님이 말씀해주신대로 생각해보면 Parent 인스턴스를 생성했을 때, 해당 메모리 안에 Parent 타입의 클래스 정보만을 저장했을테고 자식에 대한 정보가 해당 메모리 주소값 안에 없다. 따라서 다운캐스팅을 해도 자식클래스 메서드를 호출하지 못한다 -> 라고 생각하면 되는 건가요? 그렇지만 다시 생각해보면 메서드는 메서드 영역 내에서 가져다가 호출하는 방식인데, 그렇게 된다면 자식 클래스의 메서드 또한 메서드 영역내에서 불러오면 되니까 호출이 가능한 게 아닐까요..? 궁금하네요

  • java
  • 객체지향
Gloz0315 댓글 3 좋아요 0 조회수 480

카프카 토픽 생성이 안되요.

미해결

실습으로 배우는 선착순 이벤트 시스템

docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic 위와 같이 터미널에 토픽생성하는 명령어를 작성하면 아무것도 |움직이지 않고 터미널이 멈춥니다. 도커는 정상적으로 실행하고 kafka,zookeeper도 정상적으로 실행되어있습니다. 도커를 삭제하고 다시 다운로드해서 docker compose사용해서 kafka,zookeeper이미지 다시 작동시켜도 위와같이 토픽생성 명령어 입력하고 작동시 아무것도 안하고 멈춥니다.. (p.s 카프카 컨테이너 cli들어가서도 토픽 생성 명령어 작동시켜도 작동안합니다.) 혹시 해당 문제 해결법 아실까요..?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
빽도만 하지말자! 댓글 3 좋아요 0 조회수 823

Querydsl 페이징, 정렬 질문

미해결

실전! Querydsl

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 페이징, 정렬에 대해서 질문이 있습니다. 1. 이렇게 했을 때 페이지 처리와 정렬이 되었습니다. 2. OrderSpecifier로 변환 3. Querydsl4RepositorySupport 질문 1 : 1~3의 차이점이 궁금합니다. 질문 2 : 상황에 따라서 다르겠지만 1~3중 실무에서는 주로 어떤 것을 사용하나요? 질문 3 : 1번과 3번의 차이는 1번으로 했을 때 루트 엔티티 범 위를 넘어가는 동적 정렬 기능이 필요할 때 orderBy에는 한계점이 있어서 Querydsl4RepositorySupport을 선택해서 사용하는 것인가요? 질문 4 : Querydsl4RepositorySupport에서 fetchCount들이 있는데 곧 지원이 끊기는데 여기서는 어떻게 변화시켜야할지 잘 모르겠습니다... 질문 5 이렇게 사용했을 때 정렬을 사용하려고 하면 .orderBy를 사용하면 되는건가요? 아니면 다른 방법이 있나요?

  • java
  • jpa
댓글 2 좋아요 0 조회수 673

회원가입 테스트 코드 관련해 질문 드립니다..ㅠ

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

7분 08초 정도에 회원가입 테스트 코드를 실행하는 부분에서요,,! MemberServiceTest 클래스에 @Transactional을 걸어서 회원가입() 메소드를 하나의 트랜잭션으로 관리하는 것으로 이해했습니다... memberService.join(member); 으로 persistence context에 member를 영속화 시킨 상태인데, 그 다음 코드인 memberRepository.findOne(savedId);에서, 왜 select 문이 나가는거죠? 하나의 트랜잭션이고, member가 영속 상태라서 1차 캐시에서 관리되면, context에서 가져와야 하는게 아닌가요?... 트랜잭션을 롤백한다는 것의 의미가 DB의 트랜잭션을 롤백한다는 것 뿐만 아닌 영속성 컨텍스트도 롤백하는 것을 의미하나요?.. 만약 그렇다면, 저는 @Transactional을 메소드 단위로 걸었는데, 왜 회원가입() 메소드 중간에 롤백이 되는 건가요?..ㅠ 아예 애초부터 스프링에서의 트랜잭션 롤백은 영속성 컨텍스트에 반영조차 하지 않는 거라고 봐야 하나요?.. 너무 헷갈립니다 ㅠ.ㅠ

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
qpal1zm23 댓글 2 좋아요 0 조회수 470

JUnit5 @Test(expected = ) 미지원하는데 테스트 코드 작성 방법

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx ) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JUnit5를 사용하여 테스트 코드를 작성 중인데, JUnit4와는 다르게 @Test(expected = ) 사용이 불가하더라고요. 다음과 같이 테스트 코드를 작성하면 될까요? @Test public void 중복_회원_예약() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
박호정 댓글 2 좋아요 1 조회수 1626

Spring Security 의 ProviderManager (AuthenticationManager) 도 옵저버 패턴을 사용하고 있다고 볼 수 있을까요?

미해결

코딩으로 학습하는 GoF의 디자인 패턴

안녕하세요 강사님! 우선 양질의 강의 잘 듣고 있다는 말씀 드리고 싶습니다. Spring Security 에서 AuthenticationProvider 를 찾아서 인증을 위임하는 역할을 수행하는 ProviderManger 도 옵저버 패턴을 사용하고있다고 볼 수 있을까요? ProviderManager (AuthenticationManager) 에서 AuthenticationProvider 들을 가져온후 이들을 순회하며 인증위임을 시키는 코드입니다 단순히 supports() 를 통해 인증을 위임시킬 AuthenticationProvider 들을 골라내는 것뿐, 이것도 옵저버 패턴이 적용된 예인지 알고 싶습니다.

  • java
  • 디자인-패턴
PrivilegeEscalate 댓글 2 좋아요 0 조회수 419

Q파일 생성 위치 질문

해결됨

실전! Querydsl

안녕하세요 현재 프로젝트 세팅 및 테스트를 진행 중입니다. spring boot가 3이상으로 제한된 상황속에서 진행중이며, 강의 내용을 따라하고 있습니다! build.gradle은 https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.vfy9wirpglmx 를 복/붙 하였습니다. plugins { id 'java' id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 질문은 크게 3가지입니다. build/other/compileQuerydsl은 표기가 안되는데 다른 답변을 보니 springboot3으로 올라가며 compileQuerydsl은 표기가 안된다고 하신 것 같은데 맞을까요? 정확한 Q파일의 생성 위치가 궁굼합니다.! 강의상에서는 src/main에 둬도 괜찮지만, 버전관리 시스템(git)에는 추가 되지 않는게 좋다고 하셨던 것 같은데 맞나요? build에만 Q파일이 생성되는게 좋나요? 올려주신 google doc의 build.gradle로 진행하면, Q파일이 build/annotationProcessor아래 생성됩다... 뭐가 문제일까요? docs에 올려주신 build.gradle에서 build clean을 진행할 때 'src/main/generated'의 폴더를 삭제하는 이유가 무엇일까요? (현재 저는 Q파일을 build/ 아래 관리하고있는데, src/main/generate 아래 Q파일을 생성하시는 분들에만 해당 되는 내용인가요?) 답변해주시면 감사하겠습니다!

  • java
  • jpa
김주영 댓글 2 좋아요 1 조회수 876

엔티티 변경 후 일대다

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

@JoinColumn(name = "MEMBER_ID) List<AddressEntity> addressHistory = .. 다대일이 아닌 일대다로 매핑한 이유가 있을까요? 앞에서 다쪽에 @JoinColumn하는 것을 추천하셨는데 일쪽에 연관관계 주인을 잡은 이유가 궁금합니다.

  • java
  • jpa
모깅 댓글 2 좋아요 0 조회수 349

인기 태그

인프런 TOP Writers

주간 인기글