inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

안녕하세요. flush 관련 질문드립니다

해결됨

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

안녕하세요 만약 영속성 컨텍스트의 쓰기 지연 SQL 저장소에 insert 문이 5개가 있는 상태에서 flush 한다면 5번의 insert sql과 1번의 커밋으로 총 6번을 데이터베이스와 통신하는 건가요? 아니면 5개 전부 한꺼번에 날리고 + 1번의 커밋으로 총 2번을 데이터베이스와 통신하는 건가요? (아니면 JDBC 의 SQL 배치 기능을 이용해야만 총 6번의 통신을 2번의 통신으로 줄일 수 있는 건가요?) 감사합니다

  • java
  • JPA
cgkim449 댓글 1 좋아요 1 조회수 258

회원과 주문의 양방향 연관관계가 실무에서는 주문이 회원을 참조하는 것으로 충분하다면

해결됨

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

아무래도 회원과 주문이 존재한다면 주문 내역 조회같은 로직이 거의 포함된다고 생각합니다! 이럴 때는 양방향 매핑 관계를 통해 조회하는 것이 좋은지 , 아니면 주문 테이블에서 member.getId()로 select 쿼리문을 날려서 조회하는 것이 좋은지 궁금합니다.

  • 웹앱
  • JPA
  • java
  • spring-boot
  • spring
.. 댓글 2 좋아요 1 조회수 362

코틀린으로 엔티티 작성

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의의 내용과 질문이 관계 없을수도 있지만 정답이 있는 부분이 아닌 것 같아 너무 궁금해서 남겨봅니다.. ㅠ 강의중에 코틀린을 사용할 때 되도록 불변으로 만드는 것이 좋다고 하셔서 User 엔티티를 이런식으로 작성했습니다. 이렇게 되면 유저의 필드를 변경하고 싶을 때 새로운 User 객체를 만들어야 합니다. 그래서 User 엔티티 안에 이런 메서드를 작성했습니다. 두 번째 방법으로 private set을 사용해서 setter만 막고 updateName 함수를 만들어줬습니다. 세 번째로 프로퍼티를 아예 private으로 설정하고 getter와 updateName 함수를 만들어줬습니다. 네 번째는 그냥 var로 만들어 기본 생성되는 getter와 setter를 사용한다 입니다. 정답이 있는 문제는 아니지만 저는 2, 3번이 좋은 방법이라는 생각이 듭니다. 그런데 자바의 저런 보일러 플레이트 코드들을 줄일 수 있는 것이 코틀린의 장점중 하나인데, 저렇게 사용하면 무슨 소용이 있나 싶기도 합니다. 그러다보니 코틀린은 getter, setter를 사용하는 것을 권장하게 설계되어있나? 라는 생각이 듭니다. 1번이나 4번 처럼 사용하는 것이 좀 더 코틀린스러운 개발 방법일까요?

  • oop
  • java
  • kotlin
dev.taeyeong 댓글 1 좋아요 1 조회수 1184

프로젝트 시작시 main.dart에서 코드 바꿔주기에 관하여!~

해결됨

Flutter 앱 개발 기초

안녕하세요 프로젝트 시작시, 프로젝트 생성후에 main.dart의 코드를 import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold(), ); } } 이걸로 바꿔주는데 이부분은 제가 어떠한 앱을 만들때 시작시 기계적으로 바꿔주면 되는건가요? 처음 main.dart가 복잡해서 필요한 부분만 요약한거 같은데, 혹시나 해서 여쭤봅니다..

  • Flutter
별이오빠 댓글 1 좋아요 1 조회수 366

공부를 하다가 플로터에 대해 궁금한점이 있습니다.

해결됨

Flutter 앱 개발 기초

좋은강의 해주셔서 감사드리며 몇가지 질문이 있습니다. 1. 코딩시 안드로이드 스튜디오가 아닌 VSCODE를 사용하는 구체적인 이유 2. 만약 안드로이드 스튜디오로 코딩을 하게되면 PC기반 프로그램을 빌드 해서 배포할 수 없나요 3. 플로터로 pc기반 키오스크를 제작이 가능할까요?

  • Flutter
별이오빠 댓글 1 좋아요 1 조회수 420

현재 테스트예시에서의 BeforeEach 현업에서 사용

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 예시에서는 각 서비스별로 연관되는 부분이 없어 BeforeEach를 사용하지 않아도 되지만, 테스트시 연관을 끊는 의도에서 BeforeEach를 사용하는것으로 이해했습니다. 현업에서도 각 메소드에 연관되는 부분이 없더라도 인스턴스생성시에 나눠주는편이 좀더 바람직하다고 볼수 있을까요? 연관되는부분이 있는지 파악하는것도 시간소요이고 실제 빌드시에 테스트코드는 빠지기 때문에 더하는편이 덜하는편보다 낫지 않을까 하는 판단입니다. 아직 직무경험이 없고 배우는 입장이라 이런식의 사고방향이 맞는것인지 궁금합니다.

  • MVC
  • spring
  • java
  • spring-boot
꼬꼬록 댓글 1 좋아요 1 조회수 423

flutter와 관계형DB (오라클 등) 연동 방법

해결됨

Flutter 앱 개발 기초

먼저 알찬 강의 잘 듣고 있습니다. 감사합니다. 원초적인 질문 하나 드릴까 합니다. 아직 배우는 과정이지만 궁금해서 질문 올립니다. 전체 범위를 쭉 훑어 보았는데,, 상태관리나 로컬DB나 Firebase 등에 대해서는 어느 정도 용도를 알겠으나 정작 실무에서 사용을 할 때에는 기간계에서 관계형DB를 기반으로 어플리케이션이 동작하는 경우가 대다수입니다. Flutter 사이트나 서적에도 찾아보았지만 관련 내용이 없어 질문을 드리는 건데 Flutter 기반 어플이 관계형 DB와 연동은 어떻게 하는게 가장 적합할까요? 두서없는 질문 같지만 답변 부탁드려도 될까요?

  • Flutter
011414 댓글 3 좋아요 1 조회수 4257

플로터 맛보기 실행시 오류

해결됨

Flutter 앱 개발 기초

플로터 맛보기 실행을 하면 이미지와 같이 오류가 생기고 핸드폰화면은 변화가 없습니다.

  • 오류
  • Flutter
별이오빠 댓글 1 좋아요 1 조회수 320

상품 주문시 에러가 발생합니다.

해결됨

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.Order.delivery -> jpabook.jpashop.domain.Delivery 어떤 부분에서 문제가 생기는지 못찾아서 전체 파일 첨부합니다.. https://drive.google.com/drive/folders/1I0oUU741fn4nApLLQ-e_16pY0H-dywyz?usp=sharing

  • spring-boot
  • java
  • 웹앱
  • spring
  • JPA
흑후추 댓글 1 좋아요 1 조회수 405

책에 페치 조인 대상에는 별칭을 줄수 없다. 라고 나와서 궁금증이 생겼어여

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

책 381쪽에 보면 페치 조인 대상에는 별칭을 줄 수 없다라고 나오고, 대신 하이버네이트같은 몇몇 구현체는 지원해 준다고 나와있더라구요 "select distinct o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", 위와 같은 JPQL에서 o.orderItems 과 페치조인하고 oi로 별칭을 주었는데, 이 별칭을 활용하여 join fetch oi.item i 처럼 또 페치조인을 하는데... JPA에서 공식 스펙은 아니지만 하이버네이트가 잘 지원해주는 것 맞나요? 최종 질문은 저렇게 페치조인 대상에 별칭주고 거기서 또 페치조인해서... 잘 써도 되는지 궁금합니다. JPA의 공식스펙이 아닌것 같은데 문제없이 동작하는지.. (위 같은 경우는 당연 일대일이나 다대일에서만 쓸것입니다)

  • spring
  • JPA
  • spring-boot
  • java
이용조 댓글 1 좋아요 1 조회수 369

Junit5로 테스트 작성하기

미해결

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

메세지 검증방식으로 해보았습니다. Junit5로 시도하는분들에게 도움이 되길~ public class NotEnoughStockException extends RuntimeException{ @Override public String getMessage() { return "재고가 모자랍니다"; } } NotEnoughStockException thrown = assertThrows(NotEnoughStockException.class, () -> orderService.order(member.getId(), item.getId(), order)); assertEquals("재고가 모자랍니다", thrown.getMessage());

  • spring
  • java
  • 웹앱
  • JPA
  • spring-boot
Klolarion 댓글 1 좋아요 3 조회수 627

윈도우 명령어 관련 질문입니다.

미해결

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

윈도우는 h2.bat으로 접속을 했습니다. 2:08 부분에서 ll 와 ls - arlth 명령어를 통해 jpashop.mv.db가 생성되는 것을 확인할 때 윈도우 명령어로는 어떻게 진행해야 할까요? 보시는 것처럼 연결하게 되면 키 입력이 먹히지 않아 확인을 어떻게 해야할지... 윈도우 명령어랑 리눅스 명령어 비교를 해보려고 찾아봤는데 딱 맞는게 없는거 같아서 질문드립니다.

  • spring-boot
  • JPA
  • spring
  • 웹앱
  • java
갤러하드 댓글 1 좋아요 0 조회수 512

repository 생성이유

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은강의 감사합니다!! 다름이아니라, MemberRepository를 따로 만드는 이유에 대해서 아직 궁금증이 안풀려서요! MemberRepository 인터페이스에서 메서드를 꺼내서 쓰는 것 보다는 MemoryMemberRepository(implement로 인터페이스 구현을 하지않고) 메서드를 직접 쓰는게 낫지 않나 해서요! 결론적으로 굳이 repository 인터페이스를 만드는 이유에 대해서 궁금합니다!

  • spring
  • spring-boot
  • MVC
  • java
김영광 댓글 1 좋아요 1 조회수 982

안녕하세요 영한님! 네이티브 쿼리 사용이 적절한 상황인지 궁금해서 질문드려요

미해결

실전! 스프링 데이터 JPA

우선 제가 하려는 동작은 "특정 브랜드의 카테고리별 상품의 최저가의 합" 을 구하는 쿼리를 작성해야했었고 결과물 쿼리는 " select sum(temp_mins.mins) as total from ( select min(price) mins from product where brand_num = ? group by category_num ) as temp_mins" 위처럼 작성했습니다. 코드는 @Query(value = "select sum(temp_mins.mins) as total from (select min(price) mins from product where brand_num = ? group by category_num) as temp_mins", nativeQuery = true) Integer sumLowestPriceEachCategoryByBrand(Long brandNum); 입니다. queryDsl이나 JPQL에선 from절의 서브쿼리 기능을 제공하지 않는다고 파악되어서 고민끝에 네이티브 쿼리까지 왔는데요. 현재 강의에서 네이티브 쿼리의 대표적인 단점으로 뽑아주신게 반환타입 부분으로 학습했는데 제 생각으로는 단순한 박싱 타입으로 반환하기 때문에 크게 문제가 없다고 생각됩니다. 혹시 위 코드가 네이티브 쿼리를 사용하는데 적절한 상황일까요?

  • JPA
  • java
  • spring-boot
  • spring
마뇽 댓글 1 좋아요 1 조회수 280

영속성 전이 + 고아객체

해결됨

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

안녕하세요 영한님! 영속성 전이 + 고아객체에 대해서 질문이 있습니다.! 강의 20분12초 쯤부터 설명하시는 내용을 들어보면 CascadeType.ALL + orphanRemovel = true를 설정하게 되면 부모 엔티티를 통해서 자식의 생명주기를 관리 할 수 있다고 말씀하셨는데 그러면 아래와 같은 코드가 있을때 public Parent findParent(Long id) { return em.find(Parent.class, id); } public void deleteParent(String name) { em.createQuery("delete from Parent p" + " where p.name = :name") .setParameter("name", name) .executeUpdate(); } @Transactional public void delete() { Parent parent = parentRepository.findParent(1L); parentRepository.deleteParent(parent.getName()); } 이런식으로 코드를 작성하면 자식도 함께 삭제가 안되는게 맞는 걸까요? 위와 같이 진행하면 무결성 참조 에러가 발생하여서 질문 남깁니다..! 😭 Referential integrity constraint violation 감사합니다. 장세웅 드림.

  • 영속성전이+고아객체
  • java
  • JPA
개발하는쿼카 댓글 1 좋아요 2 조회수 289

클릭해서 해당 클래스로 이동

미해결

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

강의 7분50초처럼 다른 곳에서 클래스를 클릭할때, 해당 클래스로 이동하는 설정은 어떻게 하는 것인가요? 윈도우 사용중인데 안 되어서 질문 드립니다. 단축키는 ctrl+B인것을 아는데 클릭해서 가는건 어떻게 하는지 모르겠네요 ㅠㅠ

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

리팩토링 강의 [ 일부 소스 파일 누락 ]

해결됨

코딩으로 학습하는 리팩토링

안녕하세요 백기선님! 강의 정말 잘 듣고 있습니다 ( 리팩토링, 패턴, 자바, 스프링 등등!! ) 지금 리팩토링 강의를 보고 있던 중, Combine Fucntion into Transform 목차 부분에서 제공 해주시는 소스와 강의에서 다루는 파일이 일치 하지 않아서 글 남겨드려요! ( ReadingClient & ReadingClientTest 파일 ) 강의를 보고 해당 파일을 만드는것은 어렵진 않지만 보완이 되면 좋을 것 같습니다! 질 좋은 강의를 만들어 주셔서 항상 감사하는 마음으로 듣고 있습니다. 감사합니다!

  • java
  • intellij
  • refactoring
GR 댓글 1 좋아요 0 조회수 349

test 부분에 대하여 질문 드립니다!

미해결

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

안녕하세요! 좋은 강의 감사드립니다. test 부분에서 메모리에 기록이 남아 있어서 afterEach method를 작성하여서 이전 기록을 지우는 걸로 이번 강의에서 배웠는데 동일한 이름을 가진 기록("spring1", "spring2") 때문에 에러가 발생하는 걸까요?

  • MVC
  • java
  • spring-boot
  • spring
ehduszkdzkd 댓글 3 좋아요 0 조회수 249

BeanCreationException 질문드립니다.

해결됨

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

Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: jpabook.jpashop.domain.item.Item.categories[jpabook.jpashop.domain.Category] 이런 에러가 발생합니다. 코드 첨부합니다. 해당 부분을 지우면 문제없이 돌아가요.. package jpabook.jpashop.domain; import jpabook.jpashop.domain.item.Item; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Embeddable @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "item_id")) private List<Item> items = new ArrayList<>(); @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); public void addChildCategory(Category child) { this.child.add(child); child.setParent(this); } protected Category(){} } package jpabook.jpashop.domain.item; import jpabook.jpashop.domain.Category; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtype") @Getter @Setter public abstract class Item { @Id @GeneratedValue @Column(name = "item_id") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<Category>(); }

  • java
  • spring
  • spring-boot
  • 웹앱
  • JPA
흑후추 댓글 2 좋아요 0 조회수 412

혹시 강의에 자막은 없을까요?

해결됨

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

안녕하세요 다름이 아니라 강의에 따로 자막 기능은 없을까요? 혹은 추가 할 수 있는 방법은 없을까요?ㅠ

  • 자막
  • MVC
  • spring-boot
  • java
  • spring
감바스 댓글 2 좋아요 0 조회수 789

인기 태그

인프런 TOP Writers

주간 인기글