묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
질문입니다.
현재 maven 으로 작업을 하셨는데 이를 gradle 로 한다면 하이버네이트 + gradle 로 작업을 하게 되는데 이런 식으로 실무에 많이 사용이 되나요?maven + hibernate / gradle + hibernate / maven + 스프링 데이터 JPA / gradle + 스프링 데이터 JPA 과 같은 조합들을 고민해보다가 헷갈려서 질문 드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일 관계에서 유니크 제약조건이 추가 질문
강의에서 "외래키에 데이터베이스 유니크 제약조건이 추가되어야 일대일 관계가 가능하다" 를 알아보고자 Member 클래스의 Locker 객체를 아래와 같이 만들었습니다. @OneToOne @JoinColumn(name="LOCKER_ID", unique = true) private Locker locker; unique 값의 default가 false라 true를 바꿔서 넣어보니 잘 작동했습니다.그 다음 빼면 어떻게 되는지 궁금하여 unique 값을 @OneToOne @JoinColumn(name="LOCKER_ID") private Locker locker; 위와 같이 설정하고 돌려보니 create table member ( locker_id bigint unique)unique = true를 했던 것처럼 쿼리를 JPA에서 만들어줬습니다.<질문>@OneToOne 일때 JPA에서 자동으로 unique = false(default) 를 unique = true로 만들어주는지 궁금합니다.답변주시면 정말 감사하겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderItem - Item 관계에 대해 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]OrderItem과 Item는 N:1 관계라고 나오는데요, 하나의 주문에는 여러 상품이 들어가는 건 이해하겠는데 "하나의 상품(하나의 id를 가진)"이 여러 주문에 들어 가는 게 이해가 잘 안 됩니다. 가령 내가 쿠팡에서 내 장바구니에 비누, 치약, 샴푸 3가지 상품을 샀는데 이 각각의 상품들은 id를 가지고 있을 것이고 여기서 결제하고 주문을 완료하면 이 3가지 상품들은 해당 주문 목록에만 표시 될텐데요? 이 중 어느 하나의 상품이라도 다른 OrderItem에 포함 된다는 의미가 뭔지 이해가 안 가네요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
타임리프에서 삼항연산자
<td th:text="${order.orderItem} ==null ? '': ${order.orderItem.get(0).item.itemName}"></td> 혹시 이런식으로 order라는 객체 안에 ordrItem 이 널이 아니면 그중 첫번째 아이의 item.itemName을 표시하려고 하는데요. 계속 에러가 나네요 ㅡ2023-07-26T04:07:54.378+09:00 ERROR 31024 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "order.orderItem.get(0).item.itemName" (template: "/order/list" - line 25, col 25)] with root causeorder.orderItem[0].item.itemName이렇게 해도 비슷한 에러가 나는데 혹시 해결방법있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@ModelAttribute 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@PostMapping 에서는 @ModelAttribute가 전송내용을 담는 역할을 하는것으로 이해가 되는데@GetMapping("/orders") public String orderList(@ModelAttribute("orderSearch") OrderSearch orderSearch, Model model) { List<Order> orders = orderService.findOrders(orderSearch); model.addAttribute("orders", orders); return "order/orderList"; }위 코드처럼 @GetMapping에서는 @ModelAttribute("orderSearch") OrderSearch orderSearch가 어디서 값을 받아오는지가 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@RequestParam 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@PostMapping("/order") public String order(@RequestParam("memberId") Long memberId, @RequestParam("itemId") Long itemId, @RequestParam("count") int count) { orderService.order(memberId, itemId, count); return "redirect:/orders"; }여기서 상품주문버튼을 누르면 주문회원, 상품명, 주문 수량이 등록되는데 @requestParam의 memberId, itemId, count는 값을 어디서 어떻게 받아오는지를 모르겠습니다. 주문회원, 상품명같은 경우는 String인데 어떻게 Long타입의 memberId, itemId를 받아오나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트에 대해 질문이 있습니다.
https://www.inflearn.com/questions/789381/%EC%97%94%ED%8B%B0%ED%8B%B0-%EB%A7%A4%EB%8B%88%EC%A0%80-%EB%8F%99%EC%8B%9C%EC%84%B1 위에 질문과 답변을 봤을때는 엔티티매니저가 달라도 트랜잭션이 같으면 같은 영속성컨텍스트를 사용한다고 되어있습니다. 하지만 이 부분이 실제로 어떻게 이뤄질 수 있는것인지 이해되지 않습니다. 코드로 어떻게 되어져 있는지 찾아볼 수 있을까요?제가 찾아본 내용으로는 SessionImpl이라는 엔티티매니저 구현체에 아래 처럼 엔티티매니저를 넣어서 영속성컨텍스트를 생성하는 코드를 볼 수 있었습니다. 그럼 영속성 컨텍스트는 따로 만들어지는게 아닌가? 라는 생각도 하게되었습니다. protected StatefulPersistenceContext createPersistenceContext() { return new StatefulPersistenceContext( this ); } 트랜잭션에 따라 영속성 컨텍스트가 공유되고 스레드마다 영속성 컨텍스트가 어떻게 나눠질 수 있는지 궁금합니다.그리고 영속성컨텍스트는 프록시라도 Bean으로 등록되는데 실제 동작을 하는건 원본객체일테고 그럼 그 객체이 있는 영속성컨텍스트를 공유하게 되는것은 아닌가? 의문이 들었습니다.질문을 정리하겠습니다. 트랜잭션에 따라 영속성 컨텍스트가 어떻게 공유될 수 있나요?(확인할 수 있는코드나 기술이 있다면 말씀해주시면 감사하겠습니다.)Bean으로 등록된 엔티티매니저가 다른 상태를 유지할 수 있는 방법이 무엇인가요? 프록시라해도 원본객체를 통해 동작하는게 아닌가요?영속성컨텍스트는 프록시라도 Bean으로 등록되는데 실제 동작을 하는건 원본객체일테고 그럼 그 객체이 있는 영속성컨텍스트를 공유하게 되는것은 아닌가요?바보같은 질문일 수 있지만 답변해주시면 너무 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Table "MEMBER" not found 오류 문의
안녕하세요, 5강 학습 중 오류가 발생해 문의드립니다.수업과 동일하게 진행했지만, 계속해서 MEMBER 테이블을 찾을 수 없다는 에러가 발생합니다.(Table "MEMBER" not found (this database is empty); SQL statement:)두번째 이미지처럼 MEMBER 테이블도 정상적으로 생성되어 있는 상태입니다.혹시 어떻게하면 DB를 제대로 연결할 수 있을지 문의드리고 싶습니다.감사합니다.
-
미해결즐거운 자바
API 문서가 만들어지지 않습니다
예외 처리하기, 주석문 부분 강의들으면서 같이 코드 작성 해보고 API문서 생성도 따라해보았습니다.그런데 저는 항상 error: cannot read Input length = 1이런 오류가 뜨면서 API생성이 안됩니다 ㅠㅠ 구글에 찾아보니 인코딩 문제라고도 하는데....보면서 따라해도 절대 실행이 안되네요 .. 그리고 다이어그램스도 아예 나타나질 않네요 ㅠㅠ왜 이런건지 알 수 있을까요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member_seq 테이블이 생성되는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 대신에 로컬에 설치되어 있는 mysql 로 예제를 따라하고 있습니다. testMember() 를 실행하고 생성된 테이블을 확인하니, member, member_seq 두 테이블이 생성이 되었습니다. 출력된 sql 문에도 두 테이블을 생성하고 업데이트하는 sql문이 포함이 되어있습니다. member_seq 테이블은 왜 생성되는 것인가요 ??
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
fake Repository로 테스트를 진행하려고 합니다,
실제 유저 엔티티 가지고 userRepository를 해야하나요? 이것을 가지고 테스트를 해봤는데 id를 자동 매핑으로 해놔서 실제 fake로 테스트할때 id 값을 넣어줄 수가 없어서 구현에 어려움을 겪고 있습니다. 새로 Fake에 적용될 유저 도메인을 작성해야하나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
엔티티매니저의 대해 질문이 있습니다!
EntityManager는 빈 스코프가 프록시로 설정된다고 알고있습니다. 하지만 결국은 원본 엔티티매니저를 사용하는것이라고 이해했습니다. 그러면 요청이 들어오면 엔티티매니저를 사용하는데 엔티티매니저 내에 영속성 컨텍스트가 있고 싱글톤으로 유지된다면 영속성컨텍스트가 다른 요청이랑 공유되는게 아닌가요?싱글톤으로 등록되어 있는데 영속성컨텍스트가 공유되지 않는 이유가 궁금합니다. 엔티티매니저가 빈인데 어떻게 요청마다 생성되는것인지 궁금합니다.
-
해결됨스프링 시큐리티
4-2 강의에서 소스 확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 4-2 강의를 보고 있는데 해당 이전 강의에서는 authenticationEntryPoint, LoginUrlAuthenticationEntryPoint, FormAccessDeniedHandler 에 대한 설명 없었는데 4-2 강의에서는 소스에 해당 내용으로 바뀌어 있습니다. 누락된 것인지 아니면 제가 못 찾는 것인지 확인 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 DB와 연동이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberMemberRepositoryMemberRepositoryapplication.ymlbuild.gradleh2 창home에 있는 폴더와 같이 설정을 했는데요 JpaShopApplication을 동작시켜보면와같이 커리가 나오긴합니다. 하지만이렇게 멤버가 뜨지를 않는데 어디가 오류인걸까요?ㅜㅜ
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
this의 사용에 대해
안녕하세요. 나름대로 혼자 코드를 짜고 문제를 풀어보았습니다. 근데 SpeedCam의 코드에서 저의 코드는 package camera2; import detector.*; import reporter.*; public class SpeedCam extends Camera { private Detectable detect; private Reportable report; public void setDetect(Detectable detect) { this.detect = detect; } public void setReport(Reportable report) { this.report = report; } public void showMainFeature() { System.out.println("속도 측정, 번호 인식"); } public void detect() { detect.detect(); } public void report() { report.report(); } } 이러합니다. 정상적으로 목표 결과도 얻었습니다 근데 강사님의 코드는 public void detect() { this.detect.detect(); } public void report() { this.report.report(); } 이렇게 다른 부분이 존재하는데this는 왜 필요한걸까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
질문있습니다
아래 코드에서 detect메소드는 public으로 해줘야 에러가 안뜨더라구요. 무조건 정의는 public으로 해줘야 하는 건가요? package detector; public class AcciedntDetector implements Detectable{ public void detect() { System.out.println("교통 사고를 감지합시다."); }; }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
2-6)런타임에러 질문입니다.
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { public String solution(String[] arr) { String answer= ""; ArrayList<Integer> newlist = new ArrayList<>(); for(int i=0; i<arr.length; i++) { StringBuffer sb = new StringBuffer(arr[i]); newlist.add(Integer.parseInt(sb.reverse().toString())); } for(int i=0; i<newlist.size(); i++) { if((int)newlist.get(i)==1) { newlist.remove(i); } } for(int i=0; i<newlist.size(); i++) { for(int j=2; j<newlist.get(i); j++) { if(newlist.get(i)%j==0) { newlist.remove(i); } } } for(int i=0; i<newlist.size(); i++) { answer += newlist.get(i)+ " "; } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb=new Scanner(System.in); int N = kb.nextInt(); String[] arr = new String[N]; for(int i=0; i<N; i++) { arr[i] = kb.next(); } System.out.println(T.solution(arr)); return ; } } 맨 처음에 string[]배열로 입력값을 받은후stringbuffer을 이용해서 뒤집고, Integer.parseInt하면 0이 제거 되는 숫자화가 됩니다.그 이후에 arraylist에 순서대로 담아서, 소수가 아니면 제거하는 방식으로 풀었는데런타임에러가 나는 이유를 모르겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
간단한 질문입니다만..
회원 웹 기능-등록 강의에 나오는 부분중에package spring.lecture0.controller; import lombok.Getter; import lombok.Setter; //웹 등록 화면에서 데이터를 전달 받을 폼 객체 @Getter @Setter public class MemberForm { private String name; }이 코드가 MemberController에서 @PostMapping의 create메소드에 파라미터로 사용되던데 그러면 저 MemberForm은 혹시 DTO(Data Transfer Object)인가요?혹시 DTO가 맞다면 DTO객체들만 따로 디렉토리를 생성해도 괜찮나요?..감사합니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 인터페이스에서 궁금한게 하나더 생겨서 질문드립니다.
항상 답변해주셔서 감사합니다. 너무 큰 도움이 됩니다.저의 질문은 아래의 코드에서 package camera2; import reporter.*; import detector.*; public class FactoryCam extends Camera implements Detectable, Reportable{ private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; } public void showMainFeature() { System.out.println("화재 감지"); } // // public void detect() { // System.out.println("화재를 감지합니다."); // // } // // public void report() { // System.out.println("화재 신고를 진행합니다."); // } // @Override public void detect() { detector.detect(); } @Override public void report() { reporter.report(); } } 제가 궁금한 부분은 private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; }이 부분인데요. 해당 코드는 implements Detectable, Reportable해줌에 대한 여부와 상관없이, import 패키지를 해줌으로 가능한 부분인건가요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 생성자와 필드의 타입에 관련하여 질문있습니다
위의 코드에서 jpa 때문에 protected로 기본 생성자를 만들어주어야 한다고 하셨는데, 이게 무슨 의미인가요??왜 id는 Long 타입인데, userId는 long타입인가요?왜 id = null;로 해준건가요? sql ddl문은 작성해주지않고 자바 class만 작성해준 후 jpa 어노테이션을 붙여주면 db에 자동으로 테이블 생성이 안되나요? 입문자인데 눈높이에 맞춰 잘 설명해주시는 덕분에 재밌게 배우고 있습니다😄