묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
4분 20초
안녕하세요 강의 4분 20초 부분 따라하고 있는데 오류가 발생합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
GenerationType.SEQUENCE allocationSize 질문
시퀀스 증가값이 50이라고 가정했을때 최초실행시 시퀀스를 두번 불러와서 1과 51을 가져오는것으로 이해했습니다. 이때 만약 allocationSize = 1 이여도 최초실행했을때는 1~51까지 insert를 모았다가 보낸다고 생각해도 될까요? 최초인 1~51이 지난후에는 52,102,152,,,로 한개씩 insert로 보낸다고 생각이들어서요. 즉 최초 실행시 allocationSize가 시퀀스 증가값보다 작다면 jpa는 1부터 1+[시퀀스증가값]을 사용할 수 있기때문에 allocationSize보다 더 많은 값인 1부터 1+[시퀀스증가값]만큼 보낼 수 있다 라고 이해해도 될까요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
이미지
resources폴더안에 이미지 폴더가 있으니까 경로를 ${root}resources/image/logo.png이렇게 해주어야 하는거 아닌가요ㅠㅠ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
setter없이 생성메서드 생성하는 방법
안녕하세요 강사님, 서포터즈님들 JPA 실전까지 모두 완강하고 개인 프로젝트를 진행 중입니다. 강사님께서 강의 때 setter의 사용을 지양하라고 하셨는데, 생성메서드 생성 시 setter를 사용하지 않고 제가 짠 코드대로 해도 문제가 없을까요? --------- 생각해보니까 이것도 setter를 사용한거나 다름 없는 것 같은데, 생성메서드 생성할 때 setter없이 하는 방법이 있나요? @Id @GeneratedValue @Column(name = "fileId") private Long id; private String fileNm; private String path; private Long size; private String extension; private String fileType; @JoinColumn(name = "restaurantId") @OneToOne(fetch = FetchType.LAZY) private Restaurant restaurant; @JoinColumn(name = "menuId") @OneToOne(fetch = FetchType.LAZY) private Menu menu; //생성메서드 public static FileEntity createFile(FileEntity fileInfo) { FileEntity file = new FileEntity(); file.setFile(fileInfo.getFileNm(), fileInfo.getPath(), fileInfo.getSize(), fileInfo.getExtension(), fileInfo.getFileType()); return file; } public void setFile(String fileNm, String path, Long size, String extension, String fileType) { this.fileNm = fileNm; this.path = path; this.size = size; this.extension = extension; this.fileType = fileType; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest코드에서 AfterEach 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. MemberServiceTest에서 memberRepository를 사용하여 afterEach메서드를 통해 초기화 시켜주는데 memberService 안의 memberRepository가 final 하기 때문에 건드리지 못해서 밖에서 memberRepository 오버로딩을 통해 초기화 해주는건가요?? 맞다면 final 키워드가 붙어있는 memberRepository를 밖에서 오버로딩할수 있는건가요? MemberService안에 있는 memberRepository는 private final인데 그 밖에서 선언한 memberRepository를 초기화해주는것으로 어떻게 초기화가 되는거인지 궁금합니다...!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
persistence.createEntityManagerFactory 부분 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 강의 그대로 따라가여 실행을 해봤는데 이러한 오류가 발생합니다. 구글에 찾아봤지만 해결방법이 나오지 않아서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO 사용방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]수업을 듣는데 궁금한 점이 생겨 질문을 올립니다. 데이터를 주고 받는 과정에서 엔티티를 직접 사용하는 것보다 DTO를 사용하는것이 더 좋다고 설명하시면서 controller 안에 필요한 class를 만들어서 사용하시는데 실제 업무에서나 일반적인 상황에서 따로 클래스를 만들어서 사용하는게 좋은지 강의에서의 방법처럼 controller안에서 필요할때 만들어서 사용하는 것이 좋은지 궁금해서 질문 올립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ItemServiceTest 질문 있습니다!!
MemberServiceTest의 회원가입과 동일하게 ItemServiceTest 코드를 작성해 보았는데 다음과 같은 에러가 발생하네요... 왜 다른지 이해가 되지 않아서 질문드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바17로 해도 되나요?
강좌에서는 자바 11로 하라고 하셨는데, 혹시 자바17로 해도 되는걸까요? Build.grade의 sourceCompatibility에 자바17버전이라고 돼있습니다. Preference의 gradle JVM은 Project SDK corretto-17 Project settings 에서 SDK는 corretto-17 Amazon Corretto version 17 입니다. 그리고 혹시 JVM에 원래 선택 돼있는 Project SDK corretto-17말고 corretto-17 Amazon Corretto version 17.0.4 도 있는데, 이걸로 바꿔야 하나도 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
DDD 와 엔티티 매핑
안녕하세요. JPA를 사용해서 엔티티 매핑할 때 DDD에서 말하는 엔티티, 즉 도메인 객체를 바로 매핑하시나요? 아니면 JPA 엔티티를 도메인 객체와는 별개로 만들어서 매핑하시나요? 예제로 가르쳐주시는 건 바로 매핑하시는데, 혹시 실무에선 또 다른지 궁금해서 질문 드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
registerFunction() 쓸수 없음
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]registerFunction()을 쓸수 없습니다. 참고로 하이버네이트는 6.0.0.Alpha 7버전을 쓰고 있구요. 혹시라해서 버전을 5.6.10.Final로 바꾸면 쓸수 있더라구요. JPA공부하면서 6.0.0.Alpha 7버전을 쭉 쓰고 있는데 그런데 문제는 한 번도 안 생겼어요. 이 부분에서 궁금한점은 요즘에 JPAL함수 이렇게 사용 안 하시나요? 버전별H2Dialect클래스에 들어가면 이부분이 많이 바꿔있더라구요. 그래서 실무에서는 보통 final버전만 쓰는 건가요? 물론 강의는 2019년 기준이라서 그때는 alpha버전 없지만. 햇갈리네요^^. 저는 최신버전이면 쓰는 것이 좋을것 같아서. 그리고 alpha버전은 도데체 정식 버전인가요. 아니면 테스트중인 버전인가요.
-
미해결실전! Querydsl
quertdsl에서 projection을 이용해 @onetoMany dto를 내리고싶을때
프로젝션을 이용한 결과 반환을 배웠는데요, 보통 양방향일 경우 1:n 관계는 조인해서 같이 반환하고 싶을때 fetchjoin()만 이용했다가 디비상으로는 1:n 이지만 단방향인 경우에 querydsl의 projection을 이용해서 dto를 내릴순 없을까요 ? https://bbuljj.github.io/querydsl/2021/05/17/jpa-querydsl-projection-list.html 이런 예제들처럼 양방향 1:n에 대한 예제는 많이 보이는데 단방향인 경우에는 예제가 없는거같아서... 여러 시도를 해봤는데 막히고 있어 궁금합니다 jooq 같은 라이브러리를 써야하는지, querydsl로는 해결방법이 없을까요? 예를 들면 .. TeamDto { String teamName; List<MemberDTO> members; } 이런 구조를 querydsl로 바로 표현할순 없는지..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
memberService 오류가 안 나는데 상관없나요?
영상에서는 memberService 부분이 오류가 뜨는데 저는 처음 생성자를 만들 때부터 빨간 줄이 없습니다 제가 다른 부분에서 잘못 작성한게 있는건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
리포지토리 테스트 도중 10:40 하면~ 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 안녕하세요 ! 회원 리포지토리 테스트 케이스 작성 중에 10:40 쯤 repository.findAll(); 에서 하면~~ 하고List<Member> all = repository.findAll();이렇게 넘어가는데 윈도우 버전 어떤 단축키를 사용하는건지 궁금합니다 그리고 뭘 하는 건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Address 클래스에서 @Embeddable 이유
Address, Member, Order 클래스에서 Address 클래스에만 @Embeddable, @Embedded 어노테이션을 다는 이유가 궁금합니다. @Entity를 달면 안되는 이유가 있나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JUnit5에서 @Autowired사용 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 회원도메인 개발 섹션의 회원 기능 테스트 강의를 듣다가 궁금한 점이 생겨서 질문을 남깁니다. 테스트를 할 때 MemberService와 MemberRepository를 사용하기 위해 @Autowired를 이용해 진행하셔서 제가 별도로 AnnotationConfigApplicationContext를 사용해 테스트 코드를 수정해봤더니 첨부한 사진과 같이 테스트에 실패하였습니다. 어쨌든 MemberService와 MemberRepository모두 스프링 컨테이너에 등록됐고, 의존성 주입도 완료됐기 때문에 테스트가 통과될 줄 알았는데, 어느 부분에서 제가 잘못 이해하고 있는 것인지 구글링을 해봐도 명확한 답을 찾지 못해 질문 남깁니다. 제가 야생형 코스를 따라가려고 아직 JPA첫 번째 강의는 보지 못한 상태입니다. 아래는 제가 수정한 코드입니다. AutoAppConfig 클래스를 생성해 @ComponentScan애노테이션도 붙인 상태로 진행했습니다. // MemberServiceTest package japbook.jpashop.service;import japbook.jpashop.AutoAppConfig;import japbook.jpashop.domain.Member;import japbook.jpashop.repository.MemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.transaction.annotation.Transactional;import static org.junit.jupiter.api.Assertions.*;@SpringBootTest@Transactionalclass MemberServiceTest {// @Autowired// MemberService memberService;//// @Autowired// MemberRepository memberRepository; AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService = ac.getBean(MemberService.class); MemberRepository memberRepository = ac.getBean(MemberRepository.class); @Test public void 회원가입() {// MemberService bean = ac.getBean(MemberService.class);// System.out.println("bean = " + bean); Member member = new Member(); member.setName("Cha1"); Long savedMember = memberService.join(member); Assertions.assertThat(member).isEqualTo(memberRepository.findOne(savedMember)); } @Test public void 중복회원예외() { }} // AutoAppConfig package japbook.jpashop;import org.springframework.context.annotation.ComponentScan;@ComponentScanpublic class AutoAppConfig {}
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Item 엔티티와 OrderItem 엔티티와의 일대다 관계 매핑
안녕하십니까 Order 엔티티와 OrderItem 엔티티의 일대다 관계에서는 @OneToMany(mappedBy = "order")private List<OrderItem> orderItems = new ArrayList<>();위와 같이 매핑을 해줬는데Item 엔티티와 OrderItem 엔티티의 일대다 관계에서는 매핑을 안해줘도 되나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 실행시 오류
실행시 다음과 같은 에러가 발생합니다. initializationError() build.gradle 파일코드는 아래와 같습니다. plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'java'}group = 'jpabook'version = '0.0.1-SNAPSHOT'sourceCompatibility = '11'configurations { compileOnly { extendsFrom annotationProcessor }}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //JUnit4 추가 testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" }}test { useJUnitPlatform()}ylm 파일 띄어쓰기도 맞췄고, url의 MVCC=TRUE도 제거했으며build Tools > Gradle 도 IntelliJ IDEA로 맞췄는데어느부분이 문제인지 모르겠습니다.H2 콘솔도 잘 켠 것 같습니다만.. 어디가 잘못된걸까요..?
-
미해결실전! Querydsl
{0},{1},{2}에 의미를 잘 모르겟습니다.
String result = queryFactory .select(Expressions.stringTemplate("function('replace', {0}, {1}, {2})", member.username, "member", "M")) .from(member) .fetchFirst(); 1분에 강사님께서 {0},{1},{2} {}안에 있는걸 0번 1번 2번이라고 말씀하셨는데 파라미터의 무엇을 넣어주는건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의는 샀지만..
안녕하세요. 입문강의를 다 듣고 이제 다음 강의로 넘어가 보려고 합니다. 하지만 입문강의를 들었을때 좀 벅차다라는 생각이 들었습니다. 흐름은 알겠으나, 이해가 안되는부분을 생각해보면 .(점)이나 ()(괄호) 부분의 사용처 입니다. 막상 제가 혼자 개발을 한다고 생각해보면 ex) member1 = new MMR(); member2 = new MS(member1); Member finMember = memberService.finOne(SaveId).get(); Member member = em.find(Member.class, id); @GeneratedValue(strataegy = GenerationType.IDENTITY) 위 예제처럼 ()안에 들어갈 때와 의미 어떨때 들어가는지, .get()이 추가 의미 및 언제 사용하고 어느때 사용 하는지, Member.class 처럼 .class는 언제 어느때 들어가고 왜들어가는지.. @GeneratedValue에 GenerationType.IDENTITY 선택은 왜 했는지.. Ctrl + Q누르면 설명이 나오긴하는데 감이 안잡힙니다. 어느 핀트를 잡고 그 원리대로만 가면 되는건지... 강사님이 말씀하신것처럼 망망대해처럼 제가 뭐가 부족해서 어떻게 공부를 해야 할 지 잘 모르겠습니다.