inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

연관관계 메서드와 CASCADE의 관계

미해결

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

//==연관관계 메서드==// 가 주석으로 달린 메서드들이 연관관계에 있는 객체에 값을 넣어줄 때 반대편에도 자동으로 값을 넣어주는 역할을 하는 메서드가 맞나요? 이렇게 따로 메서드를 구현해주는 이유가 있나요? CASCADE 옵션을 사용하면 어차피 알아서 다 해주지 않나요 ?? 기본편에서 설명해주셨다고 했는데 어떤 강의를 다시 수강해보면 될까요 ? 지연로딩에서 ***ToMany의 디폴트는 Lazy고, ***ToOne의 디폴트는 Eager인 이유가 ***ToMany같은 경우 하나만 불러와도 기본적으로 수많은 값이 따라오기 때문에 스프링 측에서 Lazy로 해놓았고, (Member의 Order을 조회하면 수많은 Order이 자동으로 따라오기 때문에 디폴트가 Lazy) ***ToOne의 경우 객체 하나만 조회하면 쿼리문을 하나밖에 더 날리지 않기 때문에 Eager로 해놓았지만, 실무에서는 테이블 전체를 조회할 때가 있기 때문에 디폴트값인 Eager를 쓰지 않고 Lazy를 사용한다 이게 맞을까요? (Order하나만 조회하면 Member 1개만 따라오기때문에 디폴트가 Eager지만, select o from Order o 와 같은 쿼리문으로 Order를 전체 조회했을 때는 Order에 따른 멤버가 전부 따라오므로 그냥 Lazy 옵션을 준다) 이렇게 이해했는데 맞을까요?

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

엔티티와 테이블 설계 및 Category 클래스 질문입니다

미해결

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

기본편에서 관계에 따른 연관관계 설정하는 방법은 공부했는데, 위와 같은 기능 목록을 보고 기능목록을 보고 위와 같이 어떤 도메인을 써야 할지, 도메인끼리 1:N인지, N:N인지, 1:1인지 단방향인지, 양방향인지(실무에서는 N:N과 양방향은 지양하라고 하셨지만) 등 도메인 모델과 테이블 설계가 어렵다면 무엇을 참고하는 것이 좋을까요 ? ( 영한님이 분석해 놓은 회원 엔티티와 회원 테이블을 보고 코드를 작성할 순 있는데 스스로 회원 엔티티와 테이블을 분석하기가 너무 어렵습니다.) Category 클래스 안에서 스스로 일대다 관계를 맺고 있는데 이것은 무엇을 위해 만든건가요 ?

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

multipart data 전송 관련 강의는 어디에 있나요?

미해결

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

multipart data 전송 관련 강의는 어디에 있나요?

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 309

Category - Item 관계

미해결

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

카테고리 : 과일, 빨강, 노랑 // 아이템 : 사과, 배, 체리 이렇게 존재할 때 ================== 과일 -> 사과 배 체리 빨강 -> 사과 체리 노랑 -> 배 ================== 사과 -> 과일 빨강 배 -> 과일 노랑 체리 -> 과일 빨강 ================== 사과(아이템)같은 경우 과일과 빨강이라는 카테고리에 속해있고, 과일(카테고리)같은 경우 사과 배 체리라는 아이템이 속해있기 때문에 다대다 관계가 맞나요?

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

static/index.html 은 Mapping을 안해줬는데도 되는 이유가 무엇인가요 ?

미해결

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

@GetMapping("/") public String index() { return "index"; } 이런 소스 없이 자동으로 localhost:8080 들어가면 Index.html로 연결되는 이유가 무엇일까요?

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

oauth, jwt관련하여 질문입니다.

미해결

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

안녕하세요 jwt,시큐리티 / ci/cd 강의에 이어서 계속해서 수강하고 있는 학생입니다. 좋은 강의 퀄리티 덕분에 어려운 개념들을 쉽게 정리할 수 있었습니다. 정말 감사드립니다. Spring security 서버(백엔드)가 Web page가 아닌 Mobile app과 연동하는 REST API 서버로 구현하는 방법에 대해 질문이 있습니다. 조사한 방법은 총 2가지인데요, 공통 : 회원 테이블에 provider와 provider_id칼럼이 등록되어있습니다. 1안 https://www.inflearn.com/questions/537402/react-ios-android-등-spring-boot-가-api-서버일-경우-oauth2-연동-방법 안드로이드/ios에서 oauth서버로 인증을 진행한뒤 정보를 그대로 스프링으로 던짐(액세스 토큰 포함) 스프링서버에서는 액세스 토큰을 활용해 해당 OAuth 제공자에서 제공하는 API를 사용하여 검증 provider와 provider_id가 유효할 경우에만 내부 회원 db에서 조회 후 jwt토큰 발급 카카오공식 답변에서는 액세스 토큰을 직접 보내면 안된다하더라고요 https://devtalk.kakao.com/t/oauth2/128079 그러면 결국 프론트에서 인증 진행 후 정보를 받아 provider와 providerid만을 보내야하는 이야기인데 (2안) 2안 안드로이드/ios에서 oauth서버로 인증을 진행한뒤 http에 provider와 provider_id만 담아서 스프링 서버로 전송 스프링 서버에서는 provider와 provider_id만을 가지고 내부 회원 db에서 조회 후 jwt토큰 발급 2안의 경우 proivder와 provider_id를 무차별 조합해서 뚫는게 가능하지 않을까 싶어요 질문은 다음과 같습니다. oauth와 jwt를 활용해서 서버를 구축할 때 2안으로 구현하는게 맞는지 (서버에 provider와 provider_id만 보내기) 1-1. 만약 아니라면 어떤 방식으로 구현해야하는지 2안이 맞다면 provider와 provider_id를 무차별적으로 조합해서 보내면 쉽게 뚫리는 것이 아닐지 액세스 토큰을 직접 보내 서버에서 검증하게 될 경우(1안)은 왜 위험한지가 궁금합니다.

  • spring-boot
  • junit
코딩잘하고시퍼요 댓글 1 좋아요 0 조회수 1262

9003 포트 터미널로 실행하는 방법 공유드립니다.

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

터미널에서 9003 포트 실행할 때, 9001 포트가 중복된다고 발생하는 경우는 명령어가 잘못되서 그렇습니다. 강의랑 조금 다르네요 ' ' 해당 부분을 확인해주세요. mvn spring-boot:run '- Dspring-boot.run .jvmArguments=-Dserver.port=9003'

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
한라봉 댓글 2 좋아요 3 조회수 1068

@Value에 대해서 질문있습니다.

해결됨

토비의 스프링 부트 - 이해와 원리

@MyAutoConfiguration class SampleBeanConfigClass { @Value("${name}") String name; @Bean SampleBean sampleBean(){ System.out.println("sampleBean name = "+name); } } @Configuration class UserConfigClass { @Value("${name}") String name; public UserConfigClass(){ System.out.println("UserConfigClass name = "+name); } @Bean public UserConfigBean userConfigBean(){ System.out.println("UserConfigBean name = "+name); return new UserConfigBean(); } } //application.properties name = spring sampleBean name = ${name} UserConfigClass name = null UserConfigBean name = spring 아직 PropertySourcesPlaceholderConfigurer는 MyAutoConfiguration으로 등록하지 않은 상태입니다. 그런데 @Value의 위치에 따라 null, spring, ${name} 이렇게 각각 나오더라구요 이렇게 value의 위치마다 다르게 작동하는 이유가 있을까요..?

  • spring
  • spring-boot
  • spring-jdbc
cjh 댓글 1 좋아요 0 조회수 390

@JobScope JobParmeter Binding 질문

미해결

스프링 배치

안녕하세요. @JobScope에 대해서 궁금한게 생겨서요! @Jobscope 를 쓰면 갖는 이점에 대해서는 이해했습니다. 웹어플리케이션이 실행될 때, Job Bean 객체에는 Scope의 JDKProxy 또는 CGLibProxy가 주입되는 것을 이해했고 Step 메소드 실행 시, 실제 Step 객체가 주입되는 것을 이해했습니다. 그러므로 여러 스레드 ( 병렬 처리 ) 가 요청에 대한 처리를 할 때, thread safe에 대한 이점도 있을 거고 동시성에도 이점이 있을 거라고 생각됩니다. 여기서 궁금한게, @Value JobParmeters를 바인딩 하는 부분이 궁금한데요. 질문 1. 이 JobParmeters는 그럼 Job에서 설정한 여러 Jobpameters 중 꼭 한가지 key값이여야만 하는 걸까요? 가령, name, requestDate 라한다면 둘 중 하나를 선택해도 무방한거죠? 두개는 안될까요? 2. 당연한 말이겠지만 여러 Job들에서 다른 Step을 공유하기 위해선 이 Jobparmeter를 정적인 변수보다는 requestDate와 같은 yyyyhhmm ss 같은 변수를 사용하는 것이 좋겠죠? 감사합니다!

  • spring-boot
  • spring-batch
portal_dev+techfin 댓글 1 좋아요 0 조회수 329

AOP 의존성 추가

미해결

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

두가지 궁금사항이 있습니다. 1.첫번째 @Aspect 애노테이션 을 사용한다면 의존성 추가해야된다고 인터넷에 나와있는데, 꼭 안해도 되는건가요??? implementation 'org.springframework.boot:spring-boot-starter-aop' 2.두번째 TimeTraceAop class에 @Component 애노테이션을 추가하면 에러가 안나는데, SpringConfig class에 @bean 으로 등록시 에러가 납니다. 콘피그에 빈으로 등록코드를 적을경우 또다른 코드를 주입해야되나요?

  • java
  • spring
  • mvc
  • spring-boot
114tla 댓글 1 좋아요 0 조회수 1153

라이브러리 살펴보기 3:45 질문

미해결

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

저는 왜 강사님처럼 오른쪽 창에 gradle이랑 database가 안보이는 걸까요?

  • java
  • spring
  • mvc
  • spring-boot
정수민 댓글 1 좋아요 0 조회수 255

템플릿엔진이 없을경우 뷰리졸버는 작동을 못하나요??

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 처음에 타임리프 의존성 추가 없이 해서 계속 페이지가 없다고 404오류가 나왔습니다. 다른분이 타임리프 없이 할 경우 어떻게 해야하는지 질문주신것에 restapi방식을 많이 사용한다고 답해주신것은 보았는데 템플릿엔진이 없으면 아예 뷰리졸버가 동작하지 않는 것인지 궁금합니다. application.properties 파일에 spring.mvc.view.prefix=/resources/templates/ spring.mvc.view.suffix=.html 이 코드도 추가해보고, static, templates 폴더에 모두 보여주고싶은 html파일도 넣어보았는데 controller는 동작하고 뷰가 없다고 합니다 감사합니다 :)

  • java
  • spring
  • mvc
  • spring-boot
쩜현 댓글 1 좋아요 0 조회수 802

OrderRepository를 JpaRepository를 사용하여 작성하고 싶습니다.

해결됨

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

MemberReposiotry처럼 OrderRepository도 JpaRepository를 사용하여 변경해봤습니다. 근데 여기서 기존의 검색 기능을 담당하던 findAllByString의 메서드를 구현함에 있어서 오류가 발생하여 질문드립니다. 기존과 같이 OrderSearch를 이용하여 작성하고 싶어서 findALlByMemberName으로 OrderSearch의 필드인 MemberName을 가져오고 싶었으나 타입 불일치로 오류가 발생합니다. 기존의 Service와 Controller의 변경 없이 Repository만으로 해결하고 싶은데 어떻게 작성해야 할까요? findAllByString은 동적쿼리라서 JpaRepsitory의 기능으로 해결하기엔 한계가 있나요?

  • java
  • spring
  • spring-boot
  • jpa
박재언 댓글 1 좋아요 0 조회수 459

gradle build후 dir에서 jar파일이 안보여요..!

미해결

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

gradle build는 됐는데, 그 뒤에 dir에서 snapshot.jar파일이 안보입니다. 이건 왜그럴까요..?ㅠㅠ?

  • java
  • spring
  • mvc
  • spring-boot
jeeyoon lim 댓글 1 좋아요 0 조회수 606

MemberRepositoryTest 실행 에러

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의를 진행하던 중, 테스트를 실행하게 되면 에러가 나서 찾아보았지만 해결하지 못하였습니다ㅜㅜ 또한, ' MemberRepositoryTest.java ' 파일에 'Long savedId = MemberRepository.save (member);' 작성 중, save()에 에러가 나서 ' MemberRepository.java ' 파일에 'EntityManager em' 구문과 'save()' 메서드에 static을 추가한 상황입니다.. 스프링 부트의 버전은 3.0.6이고 h2 database의 버전은 2.1.214입니다! 구글 드라이브에 업로드할테니 확인 부탁드립니다! 감사합니다!

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

질문은 아니지만 약간 바뀐 부분이 있는거 같아요.

해결됨

실전! 스프링 데이터 JPA

강의자료 27페이지에 사진이랑 구조가 약간 바뀐거 같아요. 현재 저는 스프링 3.0.6에 Java 17을 사용하고 있습니다. JpaRepository는 ListCrudRepository<T, ID>, ListPagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T>를 상속하고 있어요 ListPagingAndSortingRepository는 결국 강의에서 말씀하신 PagingAndSortingRepository를 상속하네요. 큰 틀에서 이해하는데는 문제없었습니다! 좋은 강의 감사합니다.

  • java
  • spring
  • spring-boot
  • jpa
장현우 댓글 2 좋아요 0 조회수 600

Spring boot 3.0.6

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 현재 spring boot 3.0.6 버전으로 생성해서 진행중인데 h2 database는 1.4.199 버전을 사용해도 되는건가요? 현재 설치되어 있는 h2는 2.1.214 버전입니다!

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

DTO 사용범위

미해결

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

안녕하세요. 아직 강의를 듣는중이지만, 여러가지 찾아보다가 궁금증이 생겨 질문 남겨봅니다. 궁금한 것은 DTO의 사용범위(세분화 정도)와 Request 파라미터 Null 체크입니다. DTO는 클라이언트-서버 사이의 요청/응답 데이터를 전송하는 객체라고 이해했습니다. 다른 기능을 하는 aController, bController내 API가 있고 회원 정보를 담고있는 MemberDTO가 있다고 상황을 가정했습니다. MemberDTO에는 name, email, number, sequence 파라미터 등등이 담겨 있고 sequence 파라미터에는 @NotNull 애노테이션이 붙어있습니다. 이때, DTO 에서 @NotNull 등을 설정 후 사용하고자 하는 aController 내 API에서는 @NotNull 애노테이션이 적용된 sequence를 response값에 넣어주고 싶지만, bController에서는 MemberDTO 객체 중 sequence만 제외한 response가 필요하면 이때 bController에 맞는 DTO 객체를 하나 생성해 주는 게 더 옳은 것일까요? 이런 경우 실무에서 어떻게 해결하는 지 궁금합니다! 생각을 해봤을 때, 기능을 달리하는 Controller 내 API마다 DTO 객체 생성 하나의 DTO 객체에 각 기능 별로 보내도 되지 않는 파라미터는 제거 (2번이 그렇다면 방법이 궁금합니다. 찾아보면 좋은 키워드를 알려주셔도 감사하겠습니다. 질문이 두서없을 수 있지만 답변 주시면 감사하겠습니다. 제가 이해를 잘못하고 있는 부분이나 영한 님의 강의 중 관련 내용이 있는 파트가 있다면 알려주시면 감사하겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
DUB 댓글 1 좋아요 0 조회수 663

마지막 bulkUpdate 테스트부분 질문입니다

해결됨

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 질문1. 마지막 bulkUpdate 테스트는 통과되었으나 member5 코드 부분에서 sout 이찍히지 않습니다. 어떤 문제일까요 ? @Test public void bulkUpdate() { memberRepository.save(new Member("member1", 10)); memberRepository.save(new Member("member2", 19)); memberRepository.save(new Member("member3", 20)); memberRepository.save(new Member("member4", 21)); memberRepository.save(new Member("member5", 40)); int resultCount = memberRepository.bulkAgePlus(20); em.clear(); List<Member> result = memberRepository.findListByUsername("member5"); Member member5 = result.get(0); System.out.println("member5 = " + member5); Assertions.assertThat(resultCount).isEqualTo(3); } 질문2. 첫번째 코드보시면 아시겠지만 Member member5 = result.get(0); 여기에서 get(0)은 인덱스를 의미하는건가요??아니면 db의첫번째 로우를 가져오겠다는 건가요??

  • java
  • spring
  • spring-boot
  • jpa
최형택 댓글 1 좋아요 1 조회수 610

MemberServiceTest 중 질문

미해결

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

1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 ------------------------------------------------------- [질문 내용] 스프링 입문 강의 > 섹션3 > 회원 서비스 테스트 > 11:45 지점 회원가입() 메서드 내에 member 객체의 이름을 spring으로 바꾸면, 중복_회원_예외() 메서드에서 join한 member1 객체와 충돌하여 에러가 난다고 설명해주셨습니다 . -> 질문 : 중복_회원_예외() 내부에서는 member1와 member2의 이름이 같기 때문에, 예외가 발생하며 member2가 가입되지 않았습니다. 그런데 왜 그 후에 회원가입() 메서드에서 member1과 이름이 같은 member가 join할 때는 위와 같이 실행되지 않고, 런타임에러가 발생하는걸까요 ?? ( 이 때도 마찬가지로 join() 내부에 있는 validateDuplicateMember()가 실행되어서 member는 가입되지 않고, 정상적으로 종료할 것이라고 예상했는데, 왜 이렇게 되는지 궁금합니다 ..!! )

  • java
  • spring
  • mvc
  • spring-boot
ghkwls1999 댓글 2 좋아요 0 조회수 617

인기 태그

인프런 TOP Writers

주간 인기글