묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
세타조인
세타 조인과 크로스 조인이 같은 건가요? 블로그에 잘못된 정보가 많아서 여기에 여쭤봅니다...
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
파라미터 바인딩
강의에서는 파라미터 바인딩을 이름 기반으로 해라 정도만 나와있습니다.그런데 , 이 파라미터 바인딩이 무엇이고, 이걸 왜 쓰는지 이런 설명이 없다보니 이해가 되지 않습니다. 파라미터 조인으로 뭘 하는 건가요?ㅠㅠList<Member> resultList = em.createQuery("select m from Member m inner join m.team t " + "where t.name = :teamname", Member.class) .getResultList();
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
innodb 관련 에러
안녕하세요!뒤늦게 강의를 수강하고 있습니다.현재 mariadb docker build 후에 docker run을 하게 되면 아래와 같은 에러가 발생합니다.구글링을 해도 방법을 찾을 수가 없어요 ㅜㅜ[Dockerfile][Docker logs mariadb]어떻게 해결해야 할까요?...
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
9분 9초 쯤에 커맨드 라는게 무슨 뜻인지 궁금합니다.
안녕하세요 정말 기초적인? 질문이 있습니다...구글링을 해도 원하는 내용이 잘 안보여서 질문을 드립니다!!!다름이 아니라 강의의 9분 9초쯤부터 말씀하시는 커맨드 성이여서 거의 쓰기만 있다고 한다에서쓰기만 있는 코드는 무슨 뜻인지 알겠는데 커맨드성이라는게 어떤 것을 뜻하는 건지 궁금해서 질문 드립니다.혹시 커맨드라는 것이 제가 아는 특정한 기능을 실행하려고 보내는 신호? 코드? 그것을 뜻하는 건가요???그리고 제가 질문이 좀 많은데 매번 답변 잘해주셔서 너무 감사드립니다ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
전체 주문 가격
pdf파일 50페이지에 전체주문가격조회에서괄호안에 "실무에서는 주로 주문에 전체 주문 가격 필드를 두고 역정규화 한다."라고 써져있는데 역정규화가 어떻게 되는건가요??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의와 관련하여 궁금한게있습니다~!
엔티티로 직접 요청을 처리하지말고 별도의 dto를 만들어서 요청을 처리하는게 좋다고말씀해주셨는데! 실무의 경우 api별로 dto를 만들때 내부클래스로 선언해서 사용할까요? 아님 패키지에 따로 dto를 만들어서사용할까요!!그리고 추가적으로 혹시 선생님 spring mvc강좌 restapi관련된 강좌가있을까요!?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
11분06초 @Valid
@Valid를 써야 @NotEmpty가 적용 되는건가요?쓰지않으면 @NotEmpty는 그냥 의미없는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
성능과 즉시로딩/지연로딩 관련해서 질문드립니다.
질문드릴 것이 두 가지가 있습니다. 한 번에 조회를 적게 하되 쿼리를 여러 번 날리는 것과 join을 해서 한 번에 조회를 많이 하되 쿼리를 적게 날리는 것 중 어느 것이 성능적으로 좋은지 궁금합니다.N+1 문제와 관련하여 이 문제는 꼭 JPQL을 사용할 때만 발생하는 것인지 아니면 em.find 를 사용하여 조회할 때도 발생하는 것인지 궁금합니다.감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
오류입니다 ㅠㅠ
에 있는 파일에서 알려주신 것 처럼 MVCC=TRUE를 넣었음에도 발생하는 오류입니다h2는 1.4.199 버전입니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
MEMBER_SEQ를 2번 호출 하는 이유
처음 호출 하면 51개로 맞추고 그 다음부터, 메모리에서 사용한다고 하는데 이렇게 하는 이유가 무엇인가요 ? 처음 호출 할때 50개를 미리 세팅 하고 1번부터 사용하면 안되나요???
-
해결됨실전! Querydsl
상속관계 매핑을 지양해야 하는가?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://inf.run/P9aM안녕하세요 영한님, 위 질문 및 답변에 대하여 몇가지 추가적으로 질문이 있습니다.저도 김문근님의 고민과 같은 고민을 하고 있었는데 JPA강의에서도 관련된 질문이 있는지 계속 찾아보았습니다만 속이 뻥 뚫리는 답이 없어서 여기까지 왔습니다.그런데 한가지 영한님이 계속 말씀하시는 부분은 "실무에서는 상속관계 매핑을 꼭 필요할 때 부분적으로 사용한다" 이었습니다. 그렇다면 상속관계 매핑을 실무에서 잘 사용하지 않는 이유는 무엇인가요?위 예제처럼 상속관계 매핑(싱글테이블)전략을 사용하지 않고 한 테이블에 데이터들이 들어간다면 비어있는 값은 null로 되는 것은 상속관계 매핑과 다를게 없을 것 같은데 이 부분에서의 이점은 무엇일까요? 오늘 하루 이 고민하다 시간이 훌쩍 지나갔네요... 영한님과 JPA의 시작과 끝을 함께하고 싶습니다.강의 정말 감사합니다!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 객체의 초기화
프록시객체가 만들어지면 1차캐시에 들어가고 그 상태에서 초기화를 하면 실제 entity가 만들어져서 프록시 맴버변수로 들어가는것으로 이해했는데 맞나요??
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
dto와 도메인의 업데이트 메소드를 만들어 보았습니다. 이렇게 하는게 맞는건가요?
강의에서 말씀하신대로 만들어 보았습니다.이렇게 하는것이 맞는건지 궁금하여 질문드리게 되었습니다.Book 도메인UpdateItemDtoItemServiceItemController항상 감사합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
초기화의 정확한 의미
강의를 수강하다가 초기화의 정확한 의미가 잘 와닫지 않아서 질문드려봅니다.제가 이해하기로는 특정 값에 값을 set 할때 초기화한다라고 이해했는데 강의에서 .getName 도 초기화라고 표현이 되어 있더라고요이 초기화의 정확한 뜻이 무엇일까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 서버 재실행 오류
안녕하세요 영한님!영한님 강의 입문편부터 인텔리제이로 코딩중인 학생입니다. 다름이 아니고 얼마 전 ultimate 버전으로 업그레이드 이후 코드 수정하고 재실행했을 때 변경한 코드 전체가 적용이 안됩니다. 가령 컨트롤러에 GetMapping("/") 추가하고 재실행하면 반영이 안됩니다. 혹시 이와 같은 오류를 겪어보셨을까요? 구글링해도 해결방법을 모르겠어 문의남깁니다 ㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
POST 요청시 메서드로 들어오는 BookForm 객체의 생성 주체가 누구인가요?
안녕하세요.코드를 읽어보며 흐름을 파악하다가 궁금증이 생겨 질문 드립니다. public class ItemController { @GetMapping("/items/new") public String createForm(Model model) { model.addAttribute("form", new BookForm()); return "items/createItemForm"; } @PostMapping("/items/new") public String create(BookForm form) { ... 생략 } /items/new에 GET으로 접근하면, createForm()이 호출되어 BookForm 객체가 생성되고, Model 객체를 통해 viewResolver로 넘어가는 로직은 이해가 됩니다. 그러나 POST 요청을 보내면, create()가 호출되어 BookForm 객체를 인자로 받는데요.이때, 인자로 들어온 BookForm 객체는 GET 요청시 보내준 BookForm 객체와 다른 객체더라구요. 아마 누군가가 HTML input 태그에 입력된 값을 BookForm 객체로 변환시켜 넣어주는 것 같은데요. 누가 이 책임을 갖고, 어떻게 데이터를 객체로 변환시키는지 그 흐름이 궁금합니다. 마치 @ResponseBody에서 HttpMessageConverter가 객체를 JSON으로 변환시켜준 것처럼이번에도 스프링이 HttpMessageConverter를 통해 HTML input 데이터를 객체로 변환시켜 Controller에게 반환시켜 주는 걸까요? 감사합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
sdk 1.8이 없는데 아무버젼이나 다운로드 해서 사용하면 되나요 ?
liberica-1.8 다운로드 받아서 사용하면 되나요 ? h2 버젼은 2.1.214로 하면 될까요 ??
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
로그아웃시 refresh token 은 만료 시간 업데이트 했지만 access token 은 만료 시간 업데이트 못하는건가요?
로그아웃 하게된다면웹 브라우저시에 쿠키 및 로컬 스토리지에 아직 access token 이 남아 있을텐데다른 사용자가 이걸 발견하고 이용하면 문제 있는거 아닌가요??
-
미해결실전! 스프링 데이터 JPA
@EntityGraph(attributePaths={"team"})
안녕하세요, 영한님! 강의 정말 잘 듣고 있습니다!강의 중 궁금한 부분이 생겨 질문 드립니다.`@EntityGraph(attributePaths={"team"}) `attributePaths 속성에 들어가는 이름이연관 관계가 걸려있는 필드의 이름이 들어가는 건가요?
-
미해결실전! 스프링 데이터 JPA
Page를 1부터 시작하기(Pageable, Page 커스텀) 질문 있습니다.
안녕하세요. 강의 열심히 듣는 중에 궁금한 점이 있습니다.17:30초 쯤에 Page를 1부터 시작하기 부분에서 1. Pageable, Page를 파리미터와 응답 값으로 사용히지 않고, 직접 클래스를 만들어서 처리한다. 그리고 직접 PageRequest(Pageable 구현체)를 생성해서 리포지토리에 넘긴다. 물론 응답값도 Page 대신에 직접 만들어서 제공해야 한다.이 부분을 직접 구현해보려고 했는데 제가 놓치는 부분이 있는 건지 잘 안 되더라구요. 그래서https://inflearn.com/questions/201572이 질문에 답변해주신 분의 블로그를 참고하여 커스텀을 해봤습니다. package study.datajpa.dto; import lombok.Getter; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Slice; @Getter public class PageableCustom { private boolean first; private boolean last; private boolean hasNext; private int totalPages; private long totalElements; private int page; private int size; public PageableCustom() { } public PageableCustom(PageImpl page) { this.first = page.isFirst(); this.last = page.isLast(); this.hasNext = page.hasNext(); this.totalPages = page.getTotalPages(); this.totalElements = page.getTotalElements(); this.page = page.getNumber() + 1; this.size = page.getSize(); } public PageableCustom(Slice slice) { this.first = slice.isFirst(); this.last = slice.isLast(); this.hasNext = slice.hasNext(); this.page = slice.getNumber() + 1; this.size = slice.getSize(); } } package study.datajpa.dto; import lombok.Getter; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.SliceImpl; import java.io.Serializable; import java.util.List; @Getter public class PageCustom<T> implements Serializable { private List<T> content; private PageableCustom pageableCustom; public PageCustom(List<T> content, Pageable pageable, long total) { this.content = content; this.pageableCustom = new PageableCustom(new PageImpl(content, pageable, total)); } public PageCustom(List<T> content, Pageable pageable, boolean hasNext) { this.content = content; this.pageableCustom = new PageableCustom(new SliceImpl(content, pageable, hasNext)); } } @GetMapping("/memberscustom") public PageCustom<MemberDto> listCustom(Pageable pageable) { Page<MemberDto> map = memberRepository.findAll(pageable).map(MemberDto::new); return new PageCustom<MemberDto>(map.getContent(), map.getPageable(), map.getTotalElements()); }결과적으로는 커스텀에 성공했지만 코드 내용부분에서 뭔가 아쉬운 부분이 있더라구요.이게 블로그 보면서 작성한 MemberController 단 내용인데,보시면 listCustom(Pageable pageable) 에서Pageable pageable 이 파라미터를 그대로 하지말고 이 부분 또한 커스텀해서PageRequest.of()를 이용하라고 설명하시더라구요.혹시 PageRequest.of()를 활용해서 코드를 좀더 최적화 할 수 없을까요?제가 놓치는 부분이 있는 것 같은데 잘 떠오르지 않아서 이렇게 질문 드립니다! https://drive.google.com/file/d/1I__dQwuBmtkUdvT5RahN8ksF3Tr21UP8/view?usp=sharing아! 제 프로젝트 구글 링크 드립니다!ㅎㅎ 항상 양질의 강의 감사합니다!