묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메소드 vs 생성자
안녕하세요! 강의를 보다가 궁금한 점이 생겼는데, Order 엔티티에public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems)이렇게 생성메소드를 만들어서 Order를 생성해서 사용하셨는데, 왜 생성자가 아닌 생성 메소드를 만들어서 사용한것인지 궁금합니다!
-
미해결실전! 스프링 부트와 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; }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성메소드 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 강의 정말 도움 많이 되고 있습니다. A:B = one : many 인 엔티티가 있을때 B의 생성메소드에서 A의 PK를 파라미터로 받아서 A를 db에서 한번 조회(*)한 후 B.setA 를 통해서 A와의 연관관계를 만들어서 B를 생성한다고 이해했습니다 그런데 이 부분(*)에서 질문이 있습니다 JPA를 사용하면 B를 저장하기 위해 A를 select하는 로드는 피할 수가 없는건가요? 보통 그냥 쿼리를 사용하면 B를 insert할때 A의 pk를 같이 insert 해서 A를 굳이 조회하는 쿼리가 필요없었던 것 같아서요 답변해주시면 감사하겠습니다~!!