inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

멤버 이름 중복 익셉션

해결됨

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

회원가입시 멤버 이름 중복으로 가입하면 IllegalStateException 창이 발생하는데 이때 Spring MVC 2편에서 배웠던 예외처리 방법을 통해 다시 홈이나 가입화면으로 넘겨주면 되는건가요? 실무에서는 보통 ID중복확인 같은 버튼을 만들어서 검증된 ID만 회원가입이 되게 하는데 , 그 부분은 백엔드개발자가 신경쓸 부분은 아니고 지금처럼 익셉션을 날리면 되는건지 궁급합니다

  • JPA
  • 웹앱
  • spring
  • spring-boot
  • java
심모 댓글 1 좋아요 0 조회수 255

상속 구조에서 querydsl 조회하기

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.w2tomwsznga7) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://docs.google.com/document/d/1xCQKit-1V6l6ObeCe49St33RHPzLF_P_c3o7aSDTKs0/edit#heading=h.7dhnp46ven0v) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 이전 강의 에서 Entity에서 Iteam을 Book , Movie, Ablum으로 상속하는 구조를 가지고 있습니다. 이럴 경우 querydsl로 조회 할 때 dtype을 where 절에서 사용할 수 있는지 궁금합니다. 만약 사용할 수 없다면 실무에 적용할 수 있는 다른 좋은 방법이 있는지 궁금합니다.

  • java
  • JPA
kkh 댓글 2 좋아요 0 조회수 1176

자바 스프링오류

미해결

무슨 오류인지 모르겠습니다..

  • 김영한
  • java
  • spring
mhmh100 댓글 1 좋아요 0 조회수 327

초보인데요~ 게터 세터 부분에서 궁금한게 있습니다

미해결

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

국비학원에서도 게터세터 이런형태로 하라고 배우긴 했는데요~ 왜 메서드를 써서 해야하는지에 대해서는 잘 이해가 안되더라구요. 예를들어서, "pivate" String name 을 "public" String name 으로 정의하고 Hello hello = new Hello(); hello.name = "hello"; 이렇게 name값을 정하는 것과 setName() 메서드를 이용해서 정하는 것의 차이가 무엇인가요?

  • MVC
  • java
  • spring
  • spring-boot
댓글 1 좋아요 0 조회수 297

InputStream 사용해서 출력을 시키면 한글이 깨집니다

미해결

Java TPC 실전프로젝트 (Java API 활용)

임의로 만든 json 파일 다루는 과정에서 한글이 깨집니다. InputStream is = Project01_C.class.getResourceAsStream(src); InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); 우선 구글링 해보고 정확한 원리는 모르겠지만 이렇게 해서 br을 토큰화시키니 한글이 안 깨지더라고요. 혹시 궁극적으로 이클립스 인코딩 설정을 기본설정이 아닌 utf-8로 설정하는게 좋을까요? (이러면 기존 프로젝트 한글이 다 깨지네요ㅠㅠ)

  • oop
  • java
댓글 1 좋아요 1 조회수 1590

Member테이블과 조인을 하는 이유가 궁금합니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Order를 select할 때, 굳이 Member테이블과 조인하는 이유가 궁금합니다. 조인을 하지 않더라도, order를 조회할때, member 테이블로 따로 select문을 써서 값을 가져오고, 만약 fetchType을 LAZY로 할경우 필요할 때 Join쿼리를 추가적으로 날리는 것으로 알고 있습니다. 제가 생각했을 때는, 유일한 예외경우가 "Member가 null값인 Order가 조회되는 경우"인 것 같은데, 이 부분은 Order.createOrder 생성자에서 처리해줄 수 있을 것 같거든요. (혹은 Order의 member컬럼을 not null로 설정하거나) 이유가 궁금합니다!

  • join
  • JPA
  • spring-boot
  • 웹앱
  • java
  • spring
김용완 댓글 2 좋아요 1 조회수 364

java 설치 후 path 편집 질문 있습니다.

미해결

15일간의 빅데이터 파일럿 프로젝트

JAVA_HOME 변수 만드는 것까진 했는데, java 설치 후 path 편집 화면이 영상과 달라서 어떻게 해야할지 모르겠습니다;; 아래는 강의 화면이고, path 변수를 편집했을 때 나오는 창인데, 제 컴퓨터에서는 아래와 같은 창이 뜹니다 ;%JAVA_HOME%\bin 을 어디에 붙여야하나요? 제 컴퓨터 환경 기준으로 아래처럼 하면 되는건가요? C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%JAVA_HOME%\bin 근데 저렇게 해도 cmd 창이 아래처럼 뜹니다ㅠ 어떻게 해야하나요? * 혹시 cmd 창에 보면 Users\user 이라고 되어있는데 이게 문제일까요? 찾아보니 강의랑 다른 사람들은 Users\Admistrator 라고 되어있더라구요;; + 해결된 것 같습니다! 아예 [새로 만들기] - %JAVA_HOME%\bin 만 따로 입력 하니까 cmd에서도 문제없이 버전 확인이 되네요! 근데 이렇게 강의 방법이랑 다르게 해도 이후 강의 따라가는데에 문제가 없을까요?

  • java
  • path
  • redis
  • 환경변수
  • Kafka
  • Impala
  • Flume
  • 데이터 엔지니어링
  • ZooKeeper
  • Hadoop
  • bigdata
J J 댓글 1 좋아요 0 조회수 372

5. 소수(에라토스테네스 체) 문제 질문 있습니다!

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

아래 코드가 혹시 왜 틀렸는지 알 수 있을까요? 우선 배열을 사용하지 않고 짜 보고 싶어서 이렇게 짰습니다 코드를 짠 의도는 2와 3으로 나누어지지 않는 것들이 소수이기 때문에 이 경우에 answer++를 해서 answer가 쌓이도록 했고, if(i == 2 || i == 3)은 1과 자기 자신만을 가지기 때문에 따로 예외를 둬 처리했습니다 답은 알맞게 나오는데 채점을 하면 오답이라고 떠서 코드에 문제가 있는 건지 아니면 제가 문제를 잘못 이해한 것인지 궁금해서 질문 올립니다 import java.util.*; public class Main { public int solution(int n) { int answer = 0; for(int i = 2; i < n+1; i++) { if (i == 2 || i == 3) { answer++; } else if(i % 2 != 0 && i % 3 != 0) { answer++; } } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.print(m.solution(n)); } }

  • java
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 241

Autowired 질문드립니다.

미해결

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

Autowired 를 만약 Service에서 하게된다면 Service는 Repository를 DI해야하는것이 통상 개발하는 구조(?) 니까 자동으로 Spring은 Repository를 DI하는것같은 메소드(즉 Autowired) 된 것을 찾고 Autowired된 것들중에 Repository의 Class와 Service에서 Class가 일치하는것들 두개를 자동으로 주입시켜준다고 내부적 프로그래밍이 되어있다고 봐도 무방할까요?

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

bootstrap을 적용 안시켰는데 적용이 되었습니다.

해결됨

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

안녕하세요! 야생형 커리큘럼 따라서 먼저 한번 듣고 두번째로 실전1 강의 듣고있습니다. 궁금한게 있어 질문드립니다. bootstrap같은 경우 프로젝트 내부 static 폴더에 css와 js 패키지를 다운로드 받아서 적용시키잖아요, 그런데 두 번째 시도에서 파일을 다운로드 받지도 않고 그냥 실행했는데 예쁘게 적용이 되어있는걸 확인할 수 있습니다. 아마 지난번에 만들었던 프로젝트가 영향을 준 것 같은데 어떻게 그럴수 있을까요? 혹시 캐싱 문제일까 해서 강력 새로고침을 해보기도 했는데 그 문제는 아닌 거 같습니다. 어떻게 이렇게 되는건지 혹시 가르쳐주실 수 있을까요? static 폴더가 비어있는 상태에서 localhost:8080 화면입니다!

  • JPA
  • spring-boot
  • 웹앱
  • spring
  • java
김태훈 댓글 1 좋아요 0 조회수 505

클래스 기반 프로젝션 사용 관련 질문

해결됨

스프링 데이터 JPA

안녕하세요. 강의 내용대로 CommentSummary를 클래스 기반 프로젝션으로 그대로 넣어서 했는데 아래와 같은 오류가 나오네요. No converter found capable of converting from type [me.whiteship.demospringdatacommonweb.post.Comment] to type [me.whiteship.demospringdatacommonweb.post.CommentSummary] org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [me.whiteship.demospringdatacommonweb.post.Comment] to type [me.whiteship.demospringdatacommonweb.post.CommentSummary] at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:322) at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:195) (중략) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:829) CommentRepositoryTest > getComment() FAILED org.springframework.core.convert.ConverterNotFoundException at CommentRepositoryTest.java:38 사실 인터페이스 기반 프로젝션을 사용하면 될 문제이지만, 클래스 기반 프로젝션으로도 정상적으로 동작할거라 봤는데 동작을 안하네요. Spring 버전이 바뀌면서 클래스 기반 프로젝션을 사용할 수 없게 된걸까요?? 바쁘시겠지만 확인해주시면 감사하겠습니다.

  • java
  • spring
  • JPA
nmnnhlba 댓글 1 좋아요 0 조회수 584

@Autowired 를 통하여 여러개의 Repository 를 하나의 메소드에서 처리해도되나요?

미해결

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

안녕하세요, 강의잘보고있습니다. 여러가지 lombok 이나 다른 편의라이브러리를 사용하는것도 좋지만 아직은 구조잡기가 우선이라고 생각하여 최대한 필수구조를 잡아가며 짜는연습중인데 강의중에 Requirment... Annotation 을 사용하지않고 아래 방법대로 @Autowired 가 되어도 문제가없는지 질문드립니다. @Service @Transactional (readOnly = true ) public class OrderService { private final MemberRepository memberRepository ; private final OrderRepository orderRepository ; private final ItemRepository itemRepository ; @Autowired public OrderService (MemberRepository a , OrderRepository b , ItemRepository c) { this . memberRepository = a ; this . orderRepository = b ; this . itemRepository = c ; } }

  • di
  • autowired
  • 웹앱
  • JPA
  • java
  • spring-boot
  • spring
댓글 2 좋아요 0 조회수 892

42강 기본구조설정에서 경로

미해결

윤재성의 만들면서 배우는 Spring MVC 5

강사님은 폴더 구조가 webContent 폴더인데 저는 src > mian > webapp 구조입니다. 그래서 올려주신 수업자료의 소스 복붙을 할때에 Java > WebContent 에 있는 META-INF , resources, WEB-INF를 저는 webapp 안에 넣었더니 프로젝트 오른쪽 클릭 후 메이븐 업데이트 할때에 cannot nest ~ to enable the nesting exclude ~ 라며 오류가 생깁니다. 어떻게 해야할까요ㅜㅜ

  • XML
  • java
  • MVC
  • spring
soonpary3 댓글 2 좋아요 1 조회수 339

MemberRepository, ItemRepository 차이점

미해결

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

안녕하세요 영한님! Item 엔티티는 처음 저장할 때 id 값이 없다고 하셨는데 Member 엔티티도 똑같지 않나요..? 두 엔티티의 차이점이 잘 이해가 되질 않습니다 ㅠㅠ

  • java
  • 웹앱
  • spring-boot
  • JPA
  • spring
나 좀 도와줘요 댓글 2 좋아요 6 조회수 407

테스트 케이스가 잘못되어있는것 같습니다.

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

코드는 동일하게 작성하였는데 정답과 오답을 왔다갔다해서 테스트케이스를 확인하게됬습니다. 작성한 코드는 아래와 같습니다 점검도 한번 부탁드립니다. public int solution(int[][] arr) { int num=0; int max=Integer.MIN_VALUE; // i = 학생별 검사 for(int i=0; i<arr.length; i++) { //학생의 겹침 횟수 int cnt = 0; //j = 학년 for(int j=0; j<arr[i].length; j++) { // k = 다른 학생과 비교 for(int k=0; k<arr.length; k++) { if(arr[i][j] == arr[k][j]) cnt++; } } if(max<cnt) { max = cnt; num = i+1; } } return num; }

  • java
  • 코테 준비 같이 해요!
kym9129 댓글 2 좋아요 0 조회수 381

N+1 현상

미해결

실전! Querydsl

안녕하세요 영한님 잘보고있습니다. 감사합니다 질문이 하나 있습니다. public List<MemberTeamDto> searchByBuilder(MemberSearchCondition condition){ BooleanBuilder builder = new BooleanBuilder(); if(StringUtils.hasText(condition.getUsername())){ builder.and(member.username.eq(condition.getUsername())); } if(StringUtils.hasText(condition.getTeamName())){ builder.and(team.name.eq(condition.getTeamName())); } if(condition.getAgeGoe() != null){ builder.and(member.age.goe(condition.getAgeGoe())); } if(condition.getAgeLoe() != null){ builder.and(member.age.loe(condition.getAgeLoe())); } return queryFactory .select(new QMemberTeamDto( member.id.as("memberId"), member.username, member.age, team.id.as("teamId"), team.name.as("teamName") )) .from(member) .leftJoin(member.team, team) .where(builder) .fetch(); } //페치조인 미 적용 테스트를 해보면 @Test public void searchTest(){ Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member member1 = new Member("member1", 10, teamA); Member member2 = new Member("member2", 20, teamA); Member member3 = new Member("member3", 30, teamB); Member member4 = new Member("member4" ,40, teamB); em.persist(member1); em.persist(member2); em.persist(member3); em.persist(member4); MemberSearchCondition condition = new MemberSearchCondition(); condition.setAgeGoe(35); condition.setAgeLoe(40); condition.setTeamName("teamB"); List<MemberTeamDto> result = memberJpaRepository.searchByBuilder(condition); assertThat(result).extracting("username").containsExactly("member4"); } N+1 같은 현상이 일어나지 않습니다. 페치 조인을 사용하지 않았는데 이유가 있을까요 ?

  • JPA
  • java
H K 댓글 1 좋아요 1 조회수 393

혹시 점보트론 적용 안되시는분들은

미해결

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

위에 많은분들이 말씀하셨듯이 현재 부트스트랩 최신버전은 5이기 때문에 점보트론이 적용되지 않는 문제가 있었는데 저처럼 정 신경쓰이시는 분들은 이걸로 쓰시면 될 것 같습니다 <!-- Latest compiled and minified CSS --> < link rel ="stylesheet" href ="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" > <!-- jQuery library --> < script src ="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" > < /script > <!-- Popper JS --> < script src ="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js" > < /script > <!-- Latest compiled JavaScript --> < script src ="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" > < /script > header.html의 bootstrap CSS 주석 부분에 붙이시면 됩니다 뒷부분을 아직 안들어서 그런데 CSS만 필요하신거면 4가지중 맨 위에 부분만 이용하셔도 되지 않을까 싶습니다

  • java
  • spring-boot
  • 웹앱
  • JPA
  • spring
KoorunG 댓글 5 좋아요 24 조회수 1230

detach 후에 merge 에 관한 질문입니다

해결됨

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

안녕하세요! 언제나 좋은 강의 감사드립니다. 강의를 듣고 여러가지 테스트를 진행하던 중 궁금증이 생겨 질문남길게요. 테스트를 진행했던 코드들은 다음과 같습니다. 1. 엔티티를 detach 한 상태에서 커밋시 DB에 쿼리가 날리가지 않는다. (영속성 컨택스트가 비어있음으로) @Test @Rollback(value = false) void detachTest(){ Person person = new Person(); person.setId(1l); person.setName("test1"); em.persist(person); em.detach(person); } -> 예상대로 동작하였습니다. 2. clear() 를 통해 영속성 컨택스트를 비운 후 merge() 를 통해 다시 영속화하면 커밋시 반영이 될 것. @Test @Rollback(value = false) void detachTest(){ Person person = new Person(); person.setId(1l); person.setName("test1"); em.persist(person); em.clear(); em.merge(person); } -> 예상대로 동작하였습니다. 3. detach 를 통해 영속성컨택스트에서 엔티티를 준영속 상태로 변경한 후 merge() 하여 다시 영속화 하면 커밋시 반영이 될 것 @Test @Rollback(value = false) void detachTest(){ Person person = new Person(); person.setId(1l); person.setName("test1"); em.persist(person); em.detach(person); em.merge(person); } -> 제 생각과 달리 possible non-threadsafe access to session 에러가 떨어졌는데 그 이유를 곰곰히 생각해봤지만 가늠이 잘 가지 않아 질문드립니다.

  • java
  • JPA
jaden 댓글 1 좋아요 1 조회수 1343

어느것부터 다운로드를 해야하는지 좀 막히네요

미해결

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

안녕하세요 자바를 처음 배우는 학생입니다. 지금 다운로드를 어느것을 해야하는지 부터 잘 모르겠습니다. 수업 내용이 18년도 자료라서 21년도에 홈페이지가 리뉴얼되서 지금이랑 많이 다릅니다. 일단 jdk-16.0.2_windows-x64_bin devlopment kit을 다운받았었는데 강의자료에는 java 8u131로 받으셔서 다시 새로 받을려고 하는데 안보입니다. 그래서 java se 8u301이 있어서 이걸 받을려고 하는데 계정이 필요하다고 나옵니다. 그러면 오라클 계정을 만들고 이걸 받으면 되는 건가요? 친절한 답변 부탁드립니다.

  • java
  • java
  • javase
  • javase8
  • javse16
5060 취미디지털 피아노 댓글 1 좋아요 0 조회수 372

양방향 매핑을 무조건 사용해야하나요?

해결됨

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

개념이 헷갈려서 질문 드립니다. 1. Team의 List members를 사용하지 않고 Member에 있는 외래키를 이용해 팀의 멤버를 select하는 방법을 사용하면 안되나요? 2. 지금은 1:N 이지만 멤버도 여러 Team을 가질수 있는 N:N 을 한다고 가정하면 그 경우 1:N으로 나누어야해서 MemberTeam 같은 양 테이블의 기본키를 복합키로 가지고 있는 테이블이 필요하다고 알고 있습니다. 양방향 객체 관계를 가지면 위 테이블이 필요가 없어보이는데 중간 테이블을 만들고 select를 하는 것은 안되나요? 제가 이해를 잘못해서 그런지 굉장히 헷갈리네요

  • JPA
  • java
BJP 댓글 1 좋아요 1 조회수 463

인기 태그

인프런 TOP Writers

주간 인기글