inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

질문있습니다.

미해결

실전! 스프링 데이터 JPA

안녕하세요 insert 벌크 쿼리에 관해 질문있습니다. 강의에서 말씀해주신 대로 해보니 delete와 update의 경우 한번에 처리되는 것을 확인할 수 있었습니다. 문제는 Insert 였습니다. 저는 MySQL 를 사용하면서 IDENTITY 전략을 사용해왔었는데 MySQL의 경우 벌크 INSERT 쿼리를 날리기 위해서는 찾아보니 Batch Insert를 사용하기 위해서는 IDENTITY 전략이 아니라 TABLE 전략을 사용해야 한다고 하더라구요. 제가 궁금한 점은 아래와 같습니다. 1. 다른 ENTITY들은 IDENTITY 전략을 사용하고 Batch Insert가 필요한 특정 ENTITY만 TABLE 전략으로 변경해도 괜찮을까요? 2. 실무에서는 INSERT 쿼리를 한 번에 날리기 위해서는 어떤 방식을 사용하나요?? 감사합니다 :) 2.

  • spring
  • spring-boot
  • JPA
  • java
최준성 댓글 1 좋아요 2 조회수 276

양방향 매핑이 언제 필요한지 여쭤보고 싶습니다.

미해결

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

선생님 안녕하세요! 매번 정말 좋은 강의 감사드립니다ㅋㅋㅋㅋ 저 진짜 웹 하나도 모르는 생짜 초보인데, 갑자기 자바 스프링 실무에 투입되어서 넘 힘들었거든요ㅠㅠ 바로 선생님 강의 패키지로 싹 다 결제하고, 하나씩 들으면서 감을 잡고 있습니다. 제 구세주십니다. 감사합니다!! (다음달 월급 들어오면 선생님께 다 갈 예정입니다..?!ㅎㅎㅎ) 최근에 JPA Mapping 관련해서 공부하고 또 실무에 적용해 보고 있는데요, 현재 제가 하는 프로젝트에서는 음식 재료 바구니 기능을 구현해야 합니다. 요게 유저 - 대바구니 - 소바구니 - 음식 재료로 이어지는 계층적 구조이고, 유저 하나가 여러 대바구니, 대바구니 하나가 여러 개의 소바구니, 소바구니 하나가 여러 개의 음식 재료를 포함하는 구조입니다. 각 자식들은 하나의 부모에만 속하게 되어 있구요. 쌤 강의 듣고 일단은 ManyToOne 단방향 매핑으로 각각을 1:N으로 걸어줬는데요. 특정 대바구니 id 아래에 있는 소바구니 (혹은 그 소바구니 아래에 있는 음식 재료까지)를 조회하거나, 특정 소바구니 id 아래에 있는 음식 재료들을 조회하거나 하는 쿼리가 가끔 필요한 상황입니다. 또 대바구니 하나를 삭제하면 그 밑에 소바구니는 싹 다 지워지고, 소바구니 하나를 지우면 그 바구니에 음식 재료들은 싹 다 지워져야 하는 상황이구요. 즉 DELETE시 CASCADE + 가끔 부모 아래에 있는 자식을 부모 id로 조회하는게 필요한 상황입니다. 요럴때 양방향 매핑이 필요할까요?! 현재 고민하고 있는 옵션은 - 단방향 매핑으로 계속 가되 ON DELETE CASCADE를 DB TABLE에 걸어줘서 부모 삭제시 자식도 삭제되도록 만든다. - 아니면 양방향 매핑으로 해주고 mappedBy 있는쪽에 CASCADE.ALL, orphanRemoval 걸어준다. 인데요, 1) 성능이 단방향, 양방향 매핑에서 차이가 많이 나는지 궁금합니다. 2) 그냥 단방향 매핑으로 모든 거 처리하고, 필요할때만 sql join query 날려서 join해서 불러오면 되는거 아냐? 라는 생각도 드는데요.. 그리고 추가 질문으로, 언제 양방향 매핑을 사용하는게 좋은지 잘 모르겠습니다. 양쪽에서 참조할 일이 있을 때라고 강의에서는 말씀해 주셨는데 잘 안 와 닿더라구요. 혹시 실무 예시를 좀 들어 주실 수 있으실까요? 감사합니당!!!

  • 양방향매핑
  • java
  • 단방향매핑
  • jpa
  • JPA
  • mapping
개발자꿈나무 댓글 2 좋아요 3 조회수 1628

hibernate.dialect 오라클 변경시 문의드려요.

해결됨

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

시점 : 26:25 org.hibernate.dialect.Oracle12cDialect 로 변경시 쿼리가 rownum계열이 아닌 Hibernate: /* select m from Member as m */ select member0_.id as id1_0_, member0_.name as name2_0_ from Member member0_ fetch first ? rows only 와 같이 나오는데 왜그런지 궁금합니다.

  • hibernate.dialect
  • java
  • JPA
lvmedh 댓글 1 좋아요 0 조회수 560

레포지토리에 @Transactional을 안붙이는 이유

해결됨

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

Service에는 Transactional 어노테이션을 달지만 레포지토리에는 달지 않는 이유가 궁금합니다. 서비스에만 어노테이션을 달아도 서비스에서 레포지토리의 메소드를 호출하니 레포지토리에까지 Transactional 어노테이션이 적용되어서 그런건가요??

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

dto 로 변환 단계에 대해 질문드립니다!

해결됨

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

안녕하세요! entity를 dto로 변환하는게 좋다 하셨는데 repository에서 service로 넘겨줄때 dto를 넘기는게 맞나요 아니면 repository에서는 entity를 넘겨주고 service에서 controller로 넘겨줄때 dto로 변환해서 넘겨주는게 맞나요??

  • java
  • spring-boot
  • 웹앱
  • spring
  • JPA
박상호 댓글 1 좋아요 4 조회수 654

[실전] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 강의 6분 58초 내용입니다

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

[실전] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 강의 6분 58초 내용입니다 에서 실행을 할 때 오류없이 카테고리 ALL 내용은 카테고리만 출력을 하고, 그다음 카테고리들 부터는 카테고리와 서브카테고리를 잘 출력을 합니다. 다른 카테고리들(ex패션의류 신발/잡화 등)은 서브카테고리들(브랜드 여성의류 등)이 있어서 sub_categories = soup.select('div.navi.group ul li > a') 통해서 서브카테고리들을 가져올 수 있는데 ALL (메인)카테고리에서는 서브카테고리에 해당하는 내용이 없어서 크롤링을 할 때 빈값을 가져오고 그러면, 출력을 할 때(sub_category.get_text()을 사용할 때) 빈 값이니까 오류가 나야 하는거 아닌가요?

  • python
  • mysql
  • sql
  • DBMS/RDBMS
  • 데이터 엔지니어링
문환룡 댓글 3 좋아요 0 조회수 349

마인크래프트-파이썬 프래그래밍 수업 중인데 모르는 부분이 있습니다.

미해결

마인크래프트 게임을 활용한 파이썬 프로그래밍 완벽 이해

안녕하세요? 헬로 마인크래프트 실행 과정 중에 자꾸 에러가 발생하여 문의 드립니다. 아래와 같은 에러 내용이 뜨는데, 인터넷 검색해보면 서버와 클라이언트의 idle.exe가 달라야 한다는 식의 내용이 뜨는데 무슨 말인지 모르겠습니다. 파이썬에 대해서 전혀 모르고 수업을 듣기 시작했는데, 나오는 문제들을 해결하려면 기본적으로 코딩을 알아야 하는 건가 싶습니다. ;;; 어떻게 해결할 수 있을지 설명 부탁 드립니다. ---------------------<에러내용>---------- Traceback (most recent call last): File "C:\Users\박아름\Desktop\마크와코딩\drive-download-20210721T045252Z-001\01 헬로 마인크래프트.py", line 2, in <module> mc = Minecraft.create() File "C:\Users\박아름\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mcpi\minecraft.py", line 171, in create return Minecraft(Connection(address, port)) File "C:\Users\박아름\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mcpi\connection.py", line 17, in __init__ self.socket.connect((address, port)) ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다

  • python
shinjeong2010 댓글 1 좋아요 0 조회수 616

assertThrows 오류 관련

해결됨

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

안녕하세요. serviceTest를 하던중에 막혀서 이것저것 다 해봤지만 안돼서 질문드립니다. 다음 사진과 같이 assertThrow에서 오류가 발생합니다. 그래서 이전 코드들도 쭉 봤는데 그렇다기엔 try catch 문에서는 정상적으로 작동합니다. 뭐가 문제일까요?

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

프록시 객체 초기화 중 질문있습니다.

해결됨

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

안녕하세요 영한님! 강의 내용 중 궁금한 점이 있어 질문 드립니다. Team refTeam = em.getReference(Team.class, 1L); refTeam.getName(); 을 하게되면 Proxy가 비어있으므로 1. 영속성 컨텍스트에 초기화 요청을 보내고, 2. 영속성 컨텍스트가 DB를 조회해 3. 실제 엔티티 객체를 생성 은 이해가 되었습니다. 그럼 여기서 영속성 컨텍스트가 실제 엔티티 객체를 생성하고 Proxy의 target에 연결을 해줄 뿐이지, 1차 캐시에 실제 엔티티가 저장되는 것은 아닌 건가요? 1차 캐시에는 'Proxy 객체만' 있고 Proxy의 target을 통해 실제 엔티티를 접근할 수 있는 건지 궁금하여 질문 드립니다! 감사합니다.

  • java
  • JPA
gorany 댓글 2 좋아요 5 조회수 552

엔티티와 컬럼 생성 기준

미해결

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

안녕하세요. 연관관계 주인이 아닌 List로 구현된 members에서 궁금한 점이 있습니다. 먼저 지금까지 이해한 바로는, @Entity 애노테이션과 ddl-auto 속성에 의해서 @Entity를 가진 클래스의 필드들이 해당 테이블의 attribute로 만들어지는 것으로 이해했습니다. 1. @Column이 DB 테이블의 실제 컬럼 이름과 매핑을 짓는 용도라고 이해했는데 @Column을 생략해도 DB상에 해당 컬럼이 생성된 것을 확인했습니다. 이 경우, 컬럼은 생성됐지만 매핑은 이루어지지 않은건가요? 2. Team 클래스의 members 어레이리스트는 Team 테이블의 attribute로 등록되지 않는 이유가 뭔가요? 물론, 데이터베이스 상에서 하나의 attribute에 하나의 값을 가져야 하는건 맞지만 이게 컬렉션으로 구현된 필드는 JPA에서 자동으로 attribute이 아니라고 인식하는 건가요?

  • @Entity
  • @Column
  • java
  • ddl
  • JPA
  • 컬렉션
dongjoo 댓글 1 좋아요 1 조회수 418

연관관계 메서드 질문입니다!

미해결

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

강사님 Order클래스에서 연관관계 메서드를 만드실 때 Member에 대한 연관관계 메서드의 경우 public void setMember(Member member)라고 하셨는데 그 이전에 lombok으로 이미 setter를 만들어 주셨는데 그렇게 되면 lombok으로 만든 setter는 연관관계 메서드에 의해 무시가 되는건가요?

  • spring
  • spring-boot
  • java
  • JPA
  • 웹앱
박정훈 댓글 3 좋아요 0 조회수 486

파이썬 공부시작한 학생입니다. jupyter notebook 관련 질문드려도 될까요?

미해결

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 파이썬 공부중인 학생입니다. vscode로 파이썬을 공부하면서 jupyter notebook을 설치하여 사용중이었습니다. ipynb 파일을 생성하면 셀이 생성되고 그 안에 소스코드를 작성할 수 있었는데요. 갑자기 ipynb에 있던 셀이 모두 사라지고 작성해놓았던 ipynb 파일 내용도 저렇게 변경되었습니다. 무언가 문제가 생긴 것 같아 구글링으로 jupyter notebook을 cmd - pip install jupyter로 다시 재설치해보려해도 이미 설치되어있는 것으로 나오는데 왜 갑자기 이런 문제가 발생한지 알수가 없습니다..... 다시 ipynb파일을 jupyter노트북으로 실행시키도록 하고싶습니다. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • jupyter
  • ipynb
스카치 댓글 0 좋아요 0 조회수 268

이번강의에서 rabbitmq server 를 실행시켰는데 어떤 용도로 사용되었나요?

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

microservice 분산추적 강의를 전부 봤지만 rabbitmq가 어떤용도로 사용되었는지 잘 모르겠습니다. CircuitBreaker 와 Slueth, Zipkin 을 구현하는데 rabbitmq 가 필요하나요? 전체 강의를 다 본다음 다시한번 봐야겠네요.

  • rabbitmq
  • JPA
  • spring-boot
  • spring-cloud
  • architecture
  • msa
  • Kafka
blue-sky 댓글 1 좋아요 1 조회수 564

form tag중 action에서 질문이 있습니다.

미해결

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

회원 등록시 html form에는 action="/members/new"로 되어있는데 < form role ="form" action ="/members/new" th:object ="${memberForm}" method ="post" > --- 새로운 아이템 등록시 html form에는 action="@{/items/movie/new}"로 되어있습니다. < form th:action ="@{/items/movie/new}" th:object ="${form}" method ="post" > 이 '{@"" }'의 차이가 뭔지 왜 빼거나 넣으면 작동이 안되는지 이유와 역활을 알려주시면 감사하겠습니다.

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

totalCount는 어디서 쓰이나요?

미해결

실전! 스프링 데이터 JPA

페이징하면 제일 먼저 생각나는게 영한님이 말씀하신것 처럼 게시판의 페이징 기능이 생각이 납니다. Member가 m1~m5까지 있을때 이름, 나이 m1 AAA 10 m2 BBB 10 m3 CCC 10 m4 DDD 10 m5 EEE 10 이렇게 나이는 동일하고 이름만 다른 조건이 있다고 했을 경우 강의에서 offset과 limit을 활용하여 3개씩 잘라서 1 page = m1,m2,m3 2page = m4,m5 이렇게 나누는것 까지는 잘 이해가 됐습니다. 하지만 이때 totalCount는 강의내용을 참고하면 age가 같은 사람의 개수이니 5 라는 숫자가 나오게 되는데요 이 totalCount는 어디서 쓰이는건가요? 제가 생각하는 페이징에는 offset과 limit만 있어도 게시글 다음페이지 이런걸 할 수 있을거 같은데 어디서 쓰이는지 궁금합니다 ㅎㅎ

  • spring-boot
  • java
  • JPA
  • spring
ariwarabbang 댓글 1 좋아요 0 조회수 287

Order의 PK에 따른 find()

미해결

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

안녕하세요 강사님! 다대다 강의를 보던 중, 다대다를 일대다-다대일 관계로 풀어내고, 연결테이블을 엔티티로 승격하라고 하셨습니다. 여기서, 연결테이블의 PK를 의미없는 값이 아닌, (member_id, product_id)로 가져가게 된다면 em.find(Order.class, [ A ]) 위 메서드를 사용할 수 없고 JPQL을 통해 조회를 해야하나요?? 그렇지 않고 find를 사용할 수 있다면 [ A ] 부분에 어떻게 들어가야하는지 문득 궁금해져서 질문 드립니다!

  • JPA
  • java
gorany 댓글 1 좋아요 0 조회수 221

4분 20초쯤 @JoinColumn

해결됨

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

언제나 좋은 강의 감사합니다 영한님! 4분 20초쯤 @JoinColumn 을 넣지 않으면 default 값이 들어가는데 default 값이 지저분해서 넣어주는 것을 권장한다 라고 말씀하셨는데, default값을 확인해보고 싶어서 넣지 않아봤더니 Member 테이블에 LOCKER_ID 라는 컬럼이 추가되는 것을 확인하였습니다. 영상에서의 하이버네이트 버전과 제가 쓰는 하이버네이트 버전이 달라서인지는 모르겠지만 굉장히 직관적인 이름처럼 보이는데 생략하고 사용해도 상관이없을지, 아니면 다른 부분에서 문제가 될 만한 부분이 있는건지 궁금합니다.

  • java
  • JPA
jaden 댓글 1 좋아요 1 조회수 340

ddl 속성 질문

해결됨

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

안녕하세요. ddl 속성 통해서 스키마 자동 생성하는 부분에서 이해가 안되는 부분이 있어서 질문드립니다. 이전 강의까지의 예제에서 ddl 설정값을 주석처리했는데도 h2 콘솔상에서 member 테이블이 생성되고 데이터가 삽입된 것을 확인했습니다. ddl-auto 속성값을 none 또는 주석처리해도 @Entity 애노테이션을 기준으로 알아서 테이블을 만들어주는 건가요? 만약 그렇다면, 운영서버에서 자동 생성을 사용하지 말아야한다고 하셨는데 @Entity 애노테이션을 통해 자동으로 테이블이 생성되는 것을 어떻게 막을 수 있나요??

  • ddl
  • JPA
  • schema
  • auto
  • java
  • database
dongjoo 댓글 2 좋아요 0 조회수 423

벌크 연산 수행후 flush( ) 사용 질문

미해결

실전! Querydsl

안녕하세요 강의 잘 듣고 있습니다!^^ 벌크 연산 수행후 영속성 컨텍스트와 DB의 값이 달라지기 때문에 em.flush( ), em.clear( ) 를 해주면 된다고 하셨는데 이미 DB에는 값이 저장 되었는데 flush( )를 해주는 이유가 있을까요? clear( )만 해주면 안되나요?

  • 벌크연산
  • java
  • flush
  • JPA
진예도 댓글 1 좋아요 1 조회수 286

jpa 숙련도 향상 관련

미해결

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

영한님이 조언해주신 것 처럼 Spring data jpa 익히기 전에 JPA 먼저 제대로 숙지하고 넘어가고자 하는데요. 강의에서 빠른 수업 진행을 위해 간략히 구성한것들 full로 구현해보는 것 외에 추가적으로 학습하기 좋은 방법이 잇을까요? 개인적으로 공부하는거라 실무에 적용해 볼수가 없어 질문드립니다. 답변주시면 감사드리겠습니다.

  • spring-boot
  • JPA
  • spring
  • java
유승현 댓글 1 좋아요 0 조회수 275

인기 태그

인프런 TOP Writers

주간 인기글