inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

연관관계 편의 메소드, 생성 메소드에 대해 질문드려요!!

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 항상 강의 잘 보고 있습니다. 다름이 아니라 연관관계 편의 메소드와 생성 메소드에 관해 궁금증이 생겨 질문을 드릴려고 합니다. Entity 필드에서 가급적이면 setter 를 지양해야 한다고 알고 있습니다. 그래서 setter 를 쓰지 않고 오직 builder 를 통해 연관관계 편의 메소드와 생성 메소드를 정의할 순 없을까 고민했습니다. 아래는 setter 를 쓰지않고 builder 만 써서 작성해본 코드입니다. <Delivery builder> @Builder private Delivery (Order order , Address address , DeliveryStatus deliveryStatus) { this . order = order ; this . address = address ; this . deliveryStatus = deliveryStatus ; } <OrderItem builder> @Builder private OrderItem (Order order , Item item , int orderPrice , int orderCount) { this . order = order ; this . item = item ; this . orderPrice = orderPrice ; this . orderCount = orderCount ; } <Order builder & createOrder> @Builder private Order (Member member , Delivery delivery , List<OrderItem> orderItems , LocalDateTime orderDate , OrderStatus orderStatus) { this . member = member ; this . delivery = delivery ; this . orderItems = orderItems ; this . orderDate = orderDate ; this . orderStatus = orderStatus ; //== 연관관계 편의 메소드 (?) ==// Delivery. builder ().order( this ).build() ; OrderItem. builder ().order( this ).build() ; } //== 생성 메소드 ==// public static Order createOrder (Member member , Delivery delivery , OrderItem... orderItems) { return builder () .member(member) .delivery(delivery) .orderItems(Arrays.asList(orderItems)) .orderDate(LocalDateTime. now ()) .orderStatus(OrderStatus. ORDER ) .build() ; } 위에서 보시다시피 Delivery 와 OrderItem 에서 builder 를 각각 생성했습니다. 그리고 Order 의 builder 안에 연관관계 편의 메소드(?)를 추가하고, 생성 메소드에서 builder 를 이용하여 order 를 빌드한 후 리턴을 시켜줬습니다. 혹시 이렇게 작성해도 별 문제 없을까요...??? 제 부족한 질문을 읽어주셔서 감사합니다...!

  • java
  • spring-boot
  • spring
  • JPA
  • 웹앱
박윤호 댓글 2 좋아요 3 조회수 1652

orderitem.size 에서 같은 인스턴스(엔티티)가 중복 저장되는 문제

미해결

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

orderItems.size 를 테스트 할때 같은 인스턴스가 orderitem에 중복저장 되는 것 같습니다. 1이 아닌 2가 나와요. List<OrderItem> orderItems = getOrder.getOrderItems(); for(OrderItem orderItem : orderItems) { sout (orderItem); } 하니까 같은 래퍼런스값을 가진 게 2번 똑같이 나왔습니다. 어디서 발생한건지 찾을 수 없어서 질문드려요

  • java
  • 웹앱
  • JPA
  • spring-boot
  • spring
ryu 댓글 2 좋아요 0 조회수 232

save하고 update할때 혼란이 있습니다

해결됨

실전! 스프링 데이터 JPA

안녕하세요. 초보 개발자 명아주입니다. 궁금한게 있어서 문의드립니다. 제가 공부하다가 놓친걸 수도 있는데 아직 잘 이해가 안되는 부분이 하나 있습니다. 예를들어서 Member member = new Member(); member.setName("hello"); em.persist(member); member.setName("jpa"); 이런 코드가 있을때 예상 : member가 영속성 컨텍스트에 들어감 트랜잭션 종료 때, flush할때 변경감지까지 포함해서 한 번의 쿼리만 나감 insert into member values (1, 'jpa'); 실제 : insert into member values (1, 'hello'); update member set name = 'jpa'; 영속성 컨텍스트에 들어가있다가 아직 플러시 되지 않은 상태에서 변경되면 마지막에 변경된 사항으로 insert 한번만 나갈 줄 알았는데 실제 동작은 insert, 그리고 변경감지에 의한 update가 발생하더라구요. 저번에 말씀하셨던 것중 얼핏 기억나는 스냅샷? 같은 걸로 영속성에 들어간 상태를 스냅샷 찍어놓고 그거에 대한 insert 쿼리가 나가고 그 후에 변경감지를 처리하는건가요?? 궁금합니다! 감사합니다.

  • jpa
  • spring
  • 영속성컨텍스트
  • JPA
  • java
  • spring-boot
명아주 댓글 1 좋아요 6 조회수 1376

테스트 코드 autowired 질문입니다

미해결

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

안녕하세요. Test 코드에서 public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; 이렇게 돼있던데요. 여기서 @Autowired로 주입을 받아야 하는 이유가 무엇인가요? 그냥 MemberRepository memberRepository = new MemberRepository(); 로 해도 될거같아서 해봤는데 에러가 나더라고요... Member 클래스는 그냥 Member member = new Member(); 이 형태로 쓸 수 있는데, MemberRepository 클래스는 어차피 예제 상황이라 싱글톤으로 안써도 되는 상황인데도 왜 굳이 의존성 주입으로만 해야하는건지 궁금합니다.

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

SCSS 미적용문의

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

안녕하세요 .선생님. 2번이나 따라해보았는데 SCSS가 적용이 되지 않는것 같습니다. ㅜㅜ 한번만 봐주실 수 있을까요? https://github.com/imslee100/React-API/tree/43ff3052029174f878762fa0544dfdc031f118fe

  • react
  • graphql
  • rest-api
봉이김선달 댓글 3 좋아요 0 조회수 392

(공유) 리액트 v6부터는 route가 바뀌어서 중첩라우터 이렇게 적용하셔야합니다

미해결

Slack 클론 코딩[실시간 채팅 with React]

App 파트에서 workspace다음 와일드카드/* 를 표시해주셔야 합니다 workspace 안에서는 path에 /workspace/:workspace를 쓰면 App에서 workspace/:workspace/* 가 있어서 두개가 중복되기때문에 바로 /channel/: channel 로 path를 작성하시면 됩니다.

  • Socket.io
  • react
  • 웹팩
  • babel
  • typescript
  • 클론코딩
유동규 댓글 0 좋아요 21 조회수 858

react-router-dom 버전 6이후의 동작

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요. Route 컴포넌트를 사용하는 방법이 조금 바뀐거같습니다. (v6 이후) < Routes > < Route path ="/about/*" element = {< AboutPage />}/> < Route path ="/about/company/" element = {< AboutCompanyPage />}/> < Route path ="/profile/" element = {< ProfilePage />}/> < Route path ="/blog/" element = {< BlogPage />}/> </ Routes > 위에처럼 Route 바깥에 Routes로 감싸줘야 하는것으로 보이구요. 또 about아래에 여러 URL을 지원하려면 *를 붙여줘야 하는거 같습니다. (exact 속성도 지원하지 않는다고 합니다.) 다만 about/abcd 이런식으로는 접속해도 URL매칭은 되지만 about/company/로 슬래시로 끝내면 매칭이 되지는 않네요. 원만한 강의 진행을 위해서는 v5로 낮추어서 듣는게 좋을까요? https://stackoverflow.com/questions/69866581/property-exact-does-not-exist-on-type https://stackoverflow.com/questions/49162311/react-difference-between-route-exact-path-and-route-path

  • react-router-dom
  • react
  • django
  • react
  • python
  • docker
율리시스 댓글 8 좋아요 0 조회수 1020

react 비주얼 스튜디오

미해결

오픈 소스 자바스크립트 React 프로그래밍 입문 Part.1

여기 보면 client앱이 강사님께 보이는데 처음에 실행할 때 리액트로 설정하는 화면도 없고 clientapp 디렉토리도 없는데 어떻게 하면 되는건가요..

  • react
  • react
  • visualstudio
  • clientapp
박하률 댓글 1 좋아요 0 조회수 310

next.config.js 파일미생성

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

안녕하세요. 환경설정 영상에도 next.config.js 파일이 없는데 이번영상에서 next.config.js파일을 수정하는 부분이 있습니다. 해당 파일은 영상을 따라해도 생성되지 않는데 확인을 요청드립니다. server쪽 폴더에도 작업한 내용이 없는데 영상에는 파일들이 있는것 같습니다. 아마 이전영상에 이어 촬영되지 않은것 같은데 확인을 요청드립니다.

  • graphql
  • react
  • rest-api
봉이김선달 댓글 1 좋아요 0 조회수 488

서버오류발생

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

선생님. 환경세팅 화면 그대로 따라했습니다. localhost:3000에서 아래와 같은 오류가 뜨네요.. 혹시 코드 챕터별 commit된 github은 없는지 궁금합니다.

  • graphql
  • react
  • rest-api
봉이김선달 댓글 3 좋아요 0 조회수 321

yarn 문의

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

yarn 말고 npm을 init과 script에서 써도 될까요?

  • graphql
  • rest-api
  • react
봉이김선달 댓글 2 좋아요 0 조회수 318

안녕하세요 유니크 제약조건에 대해 궁금한 점이 생겨서 질문드립니다.

해결됨

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

안녕하세요 강의를 듣고 복습하다가 유니크 제약조건에 대해서 궁금한 점이 생겨서 이렇게 질문을 드립니다. 책에서는 @Table(name = "Member", uniqueConstraints = @{UninqueConstraint ~~}) 이런식으로 적혀있는데 그러면 유니크 제약조건을 Member라는 테이블 에 있는 모든 colum에 거는건가요? 그리고 인터넷에서 찾아보니 @Column(unique = true)이렇게도 사용하던것 같던데 이렇게 사용하면 해당 @Column에만 유니크 제약조건을 거는 것이 맞나요?

  • 유니크제약조건
  • java
  • JPA
이상민 댓글 1 좋아요 0 조회수 600

사소한 오타를 발견하여 말씀드립니다!

해결됨

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

강의 대시보드의 강의자료는 버전 수정이력이 v2021-12-01로 되어있지만 PDF파일 다운받을 시 v 2022-12-01로 오타가 있습니다.

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

프로젝트 생성 후 build.gradle Open as Project 시 에러

해결됨

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

환경 OS : Mac M1 Pro macOS Monterey Version 12.1 Intellij : Intellij IDEA 2021.3.1(Ultimate Edition) Build #IU-213.6461.79, built on December 29, 2021 Java Version : openjdk version "11.0.11" 2021-04-20 오류 메시지 Could not load wrapper properties from '{프로젝트 경로}/{프로젝트 명}/gradle/wrapper/gradle-wrapper.properties'. 현상 start.spring.io에서 [프로젝트 환경설정] - [프로젝트 생성] 후 Intellij에서 Open을 통해 프로젝트의 build.gradle Open - 오픈 -> 오픈시 Open as Project를 클릭 Window 10에서는 별다른 설정 없이 Gradle에서 라이브러리를 정상적으로 다운 하였으나, Mac에서는 Build 에러 발생(오류 메시지 참조) 해결을 위한 진행 사항 1. 'Could not load wrapper properties from Intellij' 키워드로 검색결과 gradle 버전 문제로 확인되었으나, 해당 프로젝트로 Window 10환경에서 정상적으로 gradle Build되어 해당 케이스 제외 2. Intellij에서 제공하는 New Project를 사용하여 Gradle 프로젝트 Build가 성공 ※ 정상적으로 build를 성공 하였으나, 원인 확인을 위한 분석 진행 분석 사항 1. start.spring.io에서 생성한 프로젝트(이하 spring)와 Intellij에서 생성한 프로젝트(이하 Intellij)의 gradle-wrapper.properties 비교 spring의 distributionUrl : https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip Intellij의 distributionUrl : https\://services.gradle.org/distributions/gradle-7.1-bin.zip 두 설정의 gradle 버전은 각 7.3.3-bin.zip과 7.1-bin.zip으로 버전차이가 있음 Case 1. Intellij 프로젝트의 설정파일을 spring 프로젝트의 설정파일로 덮어씌웠으나 동일한 에러 발생 Case 2. spring 프로젝트의 설정파일을 Intellij 프로젝트의 설정파일로 덮어씌웠으나 정상 결과 : 설정파일 또는 버전의 문제가 아님. 2. 구글링 중 Intellij와 Gradle sync에러 관련 글 확인결과 블로거가 Intellij의 log를 확인 한것을 따라 Intellij의 로그 체크결과 권한 관련 사항이 문제 에러로그 : java.nio.file.FileSystemException: '{프로젝트 경로}/{프로젝트 명}/gradle/wrapper: Operation not permitted' [결론 및 해결 방안] 권한의 문제로 시스템 환경설정 - 보안 및 개인 정보 보호 - 전체 디스크 접근 권한 - Intellij IDEA.app 권한 부여 [질문사항] 1. 권한 허용을 하지 않아도 Intellij에서 생성된 프로젝트는 Build성공한 이유가 궁금합니다. 2. 추가로 Mac에서는 '전체 디스크 접근 권한'을 허용하고 진행하는 것인지, 혹시 환경의 문제가 있는건지 궁금합니다. 긴 질문사항 읽어주셔서 감사합니다 .

  • java
  • spring
  • MVC
  • spring-boot
reyeol 댓글 2 좋아요 0 조회수 1727

next 12버전 스타일 안먹히나요?

미해결

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

현재 sass 적용 해 봤는데 오류는 나지않고 스타일 자체를 안먹습니다

  • graphql
  • react
  • rest-api
댓글 1 좋아요 0 조회수 192

존경하는 선생님. 개인저인 질문도 가능할까요??ㅎ;;

해결됨

스프링 시큐리티

선생님 안녕하세요 강의 무지 잘 보고 있습니다. 주니어 개발자 이기도 하고, 웬만해서는 security 코딩할 기회가 없다보니 소문을 듣고 찾아와서 듣게 되었습니다. 요즘 선생님이 하시는 말씀이나 답변들을 보면서 대단하다고 느끼는 중, 저도 이러한 학식을 배우고 싶어 글을 남기게 되었습니다. 다름 아니라, 혹 공부하시는 방법이 따로 있을까요?? 배워야 할건 많고 영어도 못하여 한계가 느껴져서 어떠한 방식이 있을까 싶어 연락드려봤습니다.. 제가 여러 강의는 몇번 보았는데요..타 강의 선생님이 절대 낮은 수준은 아니신데 개인적으로 한단계 레벨이 더 높은거 같아서 학습방법이라던지, 혹은 제가 따라할 수 있는 방법이 없을까 해서 연락드렸습니다.. 개인적으로는 메일로 소통하고 싶지만 바쁘신거 같아 무례를 범하는거 같지만 이렇게 공개적인 게시판에 남기게 되었습니다. ps.메일 주소 주시면...감사하겠사옵니다..ㅜㅜ올 한해도 대박 나시길 바랍니다. 좋은강의 감사합니다.

  • java
  • spring-boot
  • Spring Security
코스모스 댓글 1 좋아요 5 조회수 311

JdbcTemplate

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] build.gradle 파일에 jdbc 라이브러리를 추가하고, Load Gradle Changes도 해보고 File -> Open -> build.gradle을 선택해서 Open as Project도 해보았는데 JdbcTemplate을 import 못하고 있습니다. 어떤 부분에 문제가 있는 건가요?

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

runInAction 에 비동기

해결됨

Redux vs MobX (둘 다 배우자!)

mobx react next 로 하고 있는데 runInAction 에서 비동기처리를 하려면 어떻게 해야되나요? Component.tsx const store = useIndexStore(); useEffect(() => { const fetchData = async () => { await store.loadNewMemberData(); console.log(store.newMember) } fetchData(); }, []) 일단 훅스 컴포넌트에서 useEffect에서 store 에 저장된 정보를 불러와야되는데 Promise 기때문에 따로 함수를 만들어줘서 호출을 했고요. useEffect 뜯어보니 함수 리턴타입이 void|Destructor(?) 라 Promise 타입을 못받아서 저렇게 만들었습니다. 1. useEffect 에서 비동기 작업을 할때 저렇게 async 함수 만들어서 호출해야되는건가요? 2. async 함수를 만들었으면 꼭 await 으로 호출안해도 되는건가요? store.ts class IndexStore { root; repository rtrMenu: MenuItem[] = []// constructor(root: RootStore, repository: BaseRepository) { this.root = root this.repository = repository makeAutoObservable(this) } loadRealtimeRequestData = async (): Promise<void> => { runInAction(() => { this.rtrMenu =this.repository.getRealTimeRequestItem() }); } } store에선 loadRealtimeRequestData() 함수에서 네트워크 요청한 결과를 받습니다. await this.repository.... 여기가 await axios.get() 이런 역할을 하게 되는데 then 을 하면 쉽게 해결될문제지만 async awiat 으로 runInAction 안에서 처리할려면 어떻게 해야되나요?

  • mobx
  • react
  • redux
  • mobx
  • next
쵸잉 댓글 1 좋아요 0 조회수 554

dependencies 에 sourceset 으로 분류되지 않아도 괜찮을까요?

미해결

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

안녕하세요, 강의 잘 듣고 있습니다 :) 다름이 아니라, Gradle 설정 후 sourceset 으로 되지 않고 ClassPath 로 뜨더라고요. 왠만한 설정들은 다 똑같은데 버전 차이인지 모양은 조금씩 다른 것 같습니다. 그대로 진행해도 괜찮을까요? 답변 미리 감사드립니다 :)

  • spring
  • 웹앱
  • java
  • spring-boot
  • JPA
kim j 댓글 1 좋아요 2 조회수 494

내용 요약해서 개인 블로그에 올려도 될까요?

해결됨

프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2

내용을 정리해놓고 보고싶은데 혹시 1,2 강의 요약해서 블로그로 작성해도 될까요? 강의 내용을 요약했다고 명시하겠습니다.

  • react
  • devtools
규님 댓글 1 좋아요 1 조회수 293

인기 태그

인프런 TOP Writers

주간 인기글