묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! Querydsl
QuerydslApplicationTests 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement:call next value for hibernate_sequence [90036-199] h2는 1.4.199 사용중이며 application.yml파일도 똑같이 했는데 계속 저런 오류가 뜹니다..
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
잘 이해가 가지 않아서 여쭤봅니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링부트 + JPA 1편에 이어서 하시는것 같은데 controller 모델이 있지만 api Controller를 다시 만들어서 사용하는 이유가 무엇일까요? 따라하고나서 배운것을 찬찬히 보고있는데 개념이 헷갈립니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 2 -주의점, 정리 (재질문, 내용 보강)
안녕하십니까 선생님 다름이아니오라 em.flush(), em.clear()를 했을 때와 안했을 때 query를 호출하는 경우와 호출되지 않는 경우에 대해서 이해가 잘 되지 않아 질문드립니다. Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setTeam(team); em.persist(member); em.flush(); em.clear(); Team findTeam = em.find(Team.class, team.getId()); List<Member> members = findTeam.getMembers(); for (Member m : members) { System.out.println("m = " + m.getUsername()); } tx.commit(); 위 코드에서em.flush(); em.clear();이 경우에서 em.flush(), em.clear() 를 하지 않으면 컨텍스트에 올라간 객체들은 Team(member 없음), Member 이렇게 존재하게 되는데,em.find(Team) 을 통해서 얻어온 Team에는 Member가 없는 상황이라고 생각합니다.이후 team.getMembers() 를 진행하면 Member 가 없는 상황이기에 쿼리가 발생하면서 DB에서 조회할 것 이라고 생각하나, 쿼리를 실행하지 않고 바로 요소가 비어있는 Persistentbag(Collection 구현체) 를 반환합니다.그렇기 때문에 for ( var m : team.getMembers() ) 을 순회하면 team.getMembers() 가 비어있기 때문에 반복문이 실행되지 않아 표준출력이 발생하지 않습니다.이와 마찬가지로 em.flush(), em.clear() 를 해줬을 때, em.find()를 통해 team을 호출하면 team 객체를 가져오는 쿼리를 실행하게 되는데, 이때도 team 에대한 정보만 조회하기에 Team에는 Member가 없는 상황이라고 생각합니다.이후 team.getMembers() 를 하면 마찬가지로 Persistentbag(Collection 구현체) 을 반환하는데 이 비어있는 Collection 에 대해서 for ( var m : team.getMembers() ) 을 진행하면 member에 대한 query를 진행하여 member정보를 얻어옵니다.정리해보자면 em.flush(), em.clear() 한 경우와 안한 경우 모두 team.getMembers()의 반환값으로 빈 Persistentbag 을 반환하는데, 어떤 기준으로 동작방식이 (쿼리가 실행되고 안되고) 달라지는지 궁금합니다ㅠ추측을 해보자면...em.flush(), em.clear() 한 경우에는Persistentbag<ProxyMember> 이고em.flush(), em.clear() 안한 경우에는Persistentbag<Member> 이고,Persistentbag.iteration() 함수 내부에서<E> 가 ProxyMember 일 경우에 hasNext() == false 면 Query 를 진행해서 db에서 조회 해보고,<E> 가 Member(순수한 객체) 일 경우에는 hasNext() == false 면 그냥 query없이 return 하게되는 걸까요..?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
시간복잡도 관련 질문드립니다.
질문드립니다. 시간복잡도 O(n) 라고 하셨는데 궁금한점이 있습니다,.for(int i=0; i<n; i++) { System.out.println(n);}이와같이 n개의 데이터를 받아서 처리하는경우라고 알고있는데요 for(char x : b.toCharArray()) { bmap.put(x, bmap.getOrDefault(x, 0) +1); } ====> n int L = b.length()-1; for(int i=0; i<L; i++) { amap.put(a.charAt(i), amap.getOrDefault(a.charAt(i), 0)+1); } =======> n int lt =0; for(int rt = L; rt<a.length(); rt++) { amap.put(a.charAt(rt), amap.getOrDefault(a.charAt(rt), 0)+1); if(amap.equals(bmap)) { answer ++; } amap.put(a.charAt(lt), amap.get(a.charAt(lt))-1); if(amap.get(a.charAt(lt))==0) amap.remove(a.charAt(lt)); lt++; } rt =====> n 이와같이 3개의 변수를 선언한경우도동일하게 O(n)이 되는건가요?보기만 봐서는 O(3n)의 느낌인데시간복잡도 계산방법과 해당 n 판별법이 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 안되네요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]빌드까지 성공했는데 실행이 안되요
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
38분쯤 Member와 AddressEntity 중 연관관계 주인을 Member로 한 이유가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Entity public class AddressEntity { //... } // 2. Member에 단방향 연관관계 매핑 @Entity public class Member { //... @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumn(name = "MEMBER_ID") private List<AddressEntity> addressHistory = new ArrayList<>(); }테이블의 경우 "다"쪽인 ADDRESS에 MEMBER의 외래키가 있습니다. 이 경우 Address가 연관관계의 주인이 되는 것을 권장되는 것으로 알고 있습니다. 하지만 이번 예제의 경우, "일"인 Member가 주인으로 설정된 이유가 무엇인가요? member를 주인으로 함으로써 AddressEntity의 생명주기를 함께 관리하기 위함인가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 2 -주의점, 정리
안녕하십니까 선생님 다름이아니오라 em.flush(), em.clear()를 했을 때와 안했을 때 query를 호출하는 경우와 호출되지 않는 경우에 대해서 이해가 잘 되지 않아 질문드립니다. Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setTeam(team); em.persist(member); em.flush(); em.clear(); Team findTeam = em.find(Team.class, team.getId()); List<Member> members = findTeam.getMembers(); for (Member m : members) { System.out.println("m = " + m.getUsername()); } tx.commit(); 위 코드에서em.flush(); em.clear();를 했든 안했든 findTeam.getMembers(); 은 비어있는 상태 아닌가요..?둘다 비어있는 상태인데 했을 경우에는 query를 사용하고 안했을 경우에는 query를 호출하지 않는 이유가 궁금합니다.members 객체가 flush를 했을 때는 프록시 객체고 하지 않았을 경우는 실제 객체라서 그런걸까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
선생님 (!morning) 부분 질문이 있습니다!
boolean morningCoffee= falseif(!morningCoffee){sout(아이스아메리카노 +!)}sout(주문완료) 논리부정연산자로!morningCoffee == true 가 되는데morningCoffee가 false가 맞을때 라고 이해해도 될까요? 헷갈려서 질문남깁니다~!
-
미해결자바 코딩테스트 - it 대기업 유제
문제 풀이 질문드립니다.
혼자 풀다가 막힌 문제인데 어떻게 풀어야 할지 몰라서 질문드립니다. 문제를 간략하게 설명하면, 문제가 n*n행렬이 나오는데 (0,0)에서 사람이 움직이는데, 움직이는 조건이 왼손을 터치할 수 있는 방향으로만 움직일 수 있습니다. (0,0)에서 (n-1,n-1)로 나가는 경로의 길이를 구하라. 입니다.만약 s에서 e로 간다면 답이 12가지 입니다.s가 사람 모양이고 왼손을 터치할 수 있는 곳만 움직일 수 있습니다. 레벨탐색으로 하면서 큐를 잡는데Queue<int[]> q = new LinkedList<>();q.add(new int[] {x,y,1}); // x와y는 좌표, 1은 왼손을 터치할 수 있다는 표시로 풀려고 했는데 풀리지 않았습니다. 솔루션이 궁금합니다.
-
미해결JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
ppt자료는 없나요?
영상에는 학습자료에 ppt파일도 있는 것처럼 말했는데,학습 자료에 소스파일밖에 없습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰 발급을 api로 제공할 경우, client에서 쿠폰 발급 여부를 확인할 수 있는 방법 문의드립니다.
안녕하세요. 강의 잘 들었습니다.강의 들으면서 궁금증이 생겼는데, 만약에 쿠폰 발급 기능을 API로 제공한다고 가정하면client -> 쿠폰 발급 기능 API 호출이 이루어지고쿠폰 발급 기능 API에서는 쿠폰 발급 여부를 확인하고 kafka로 produce하게 되는데, 이때는 실제로 쿠폰이 발급된 상태는 아닐 수도 있을 것으로 예상됩니다(실제 쿠폰이 발급되는 시점은 consumer에서 작업이 정상적으로 완료되어야하므로 트래픽이 많거나 하는 경우 시간차이가 더 심할 것으로 예상됩니다) 이러면 쿠폰 발급 기능 API에서 응답값은 어떤 값을 줘야할까요?쿠폰 발급 여부에서 발급이 가능하다면 쿠폰 발급되는것은 확정이기 때문에 발급되었다는 정보?쿠폰 발급 여부에서 발급이 가능하지만 추가적으로 polling해서 client 쪽에서 확인하도록 처리?제가 생각했을땐 위의 2가지정도로 가능할 것 같은데 강사님 의견이 궁금합니다..! 감사합니다.
-
미해결실전! 스프링 데이터 JPA
실무에서 @DynamicInsert, @DynamicUpdate 사용하나요?
안녕하세요!좋은 강의 잘 들었습니다! 실무에서 JPA를 사용하면서 궁금한점이 있어서요실무에서는 @DynamicInsert, @DynamicUpdate 사용하고 있는데영한님은 한번도 안쓰시더라구요..!실무에서는 어떻게 사용하시는지 궁금합니다!@DynamicInsert, @DynamicUpdate 사용하지 않으면 어떻게 사용하는지도 궁금합니다.
-
미해결자바 입문자를 위한 강의
블로그 공부기록?
안녕하세요. 블로그에 제가 공부했던 강의 내용을 올리려하는데혹시 어디까지 공유가 가능한지 알 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
왜 파일이 안나오는지 모르겠어요;;
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]경로를 들어가고싶은데 안들어가져요참고로 관리자계정으로 했는데도 똑같아요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
8. 팰린드롬(replaceAll 정규식이용): 기업 코딩테스트를 볼 때 정규식을 사용해야 하나요?
8. 팰린드롬(replaceAll 정규식이용) 해당 문제를 저는 정규식을 사용하지 않고, 풀었습니다.정규식을 잘 모르기도 하고, 정규식도 제대로 알려면 공부해야 할 범위도 많아도 생각합니다. 혹시 기업 코딩테스트를 볼 때 무조건 정규식을 사용해야 하는 문제가 빈번하나 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복회원가입 가능
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 가입을 할 때 중복 회원 가입이 안 되어야 하는데 데이터를 살펴보면 중복으로 회원가입이 됩니다. 코드 상으로는 문제가 없어 보였는데 확인 한 번 부탁드리겠습니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 2번 질문입니다!
안녕하세요? 퀴즈 2번 질문이 있습니다.2분 31초부터 "삼항연산자를 이용해서 결과값을 String 변수에 저장해놓는다."라고 하셨는데 왜 String이 쓰이는지 궁금합니다!
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
안녕하세요 강사님 낙관적 락 질문있습니다.
낙관적 락도 데드락이 터질 수 있다는 글을 많이 봤는데, 강의에서는 다루지 않아서 좀 헷갈립니다. 사람마다 코드가 다 다르기 때문에 데드락이 무조건 터진다 안 터진다를 말할 수 없을 거 같은데,어떤 상황일 때 데드락이 발생하는지에 대해 간단하게라도 설명해주실 수 있으신가요?항상 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
member 만 persist 했는데 ITEM 에도 데이터 삽입되는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 수업 듣던중 궁금한 것이 생겨 질문 남깁니다!member만 persist 했는데 ITEM 에도 데이터가 인서트 되는 것은 JPA가 상속관계임을 인지하고 알아서 값을 넣어주는 건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello-mvc?name=spring!! 이 부분 에러가 발생합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.localhost:8080 까지는 잘나오고 다 잘 따라친거 같은데 뒤에 hello-mvc 부분부터는 에러가 발생하네요 ㅠㅠ