inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 현재 최신 버전인 SpringBoot4 + Hibernate7 을 사용해서 강의를 듣고 있습니다. 이 버전에서는 (Hibernate 모듈 등록 X + 프록시 직접 초기화 X] 상태에서 API 응답으로 엔티티를 곧바로 반환하게 되면, 강의 내용처럼 오류(예외)가 나지 않고, Jackson이 json을 만드는 과정에서 getter 등을 호출해서 프록시 객체들을 자동으로 초기화(로딩)시키는 것처럼 보이네요. 응답 결과에서도 모두 출력되고요 (물론, @JsonIgnore 없으면 무한루프는 발생) 그래서 강의 내용처럼 오류가 나도록 하는 방법을 한참 찾다가 현재 버전에서 Hibernate 모듈을 등록하는 방법을 발견해서 공유해봅니다. (메뉴얼에도 없길래) [등록 방법] 1. 라이브러리 등록 implementation 'tools.jackson.datatype:jackson-datatype-hibernate7' 2. 빈 등록 @Bean public Hibernate7Module hibernate7Module() { Hibernate7Module module = new Hibernate7Module(); // module.configure(Hibernate7Module.Feature.FORCE_LAZY_LOADING, true); return module; }

  • java
  • spring
  • spring-boot
  • jpa
김민석 댓글 1 좋아요 2 조회수 142

커버링 인덱스에 대해서 질문드립니다.

미해결

실전! 데이터베이스 완전정복 [설계편]

안녕하세요. 강의 정말 잘 듣고 있습니다. 강의를 듣다가 커버링 인덱스(Covering Index) 관련해서 궁금한 점이 생겨 질문드립니다. 커버링 인덱스는 SELECT 문에서 조회하는 컬럼들이 모두 인덱스에 포함되어 있을 때 , 원본 테이블을 조회하지 않고 인덱스만으로 쿼리를 처리할 수 있는 방식 이라고 이해했습니다. 그렇다면, SELECT 에 포함된 컬럼들이 각각 단일 인덱스로 존재하는 경우에도 커버링 인덱스로 처리될 수 있는지 궁금합니다. 아니면 반드시 하나의 복합 인덱스(composite index) 로 묶여 있어야 커버링 인덱스로 동작하는 것인지 알고 싶습니다. 예를 들어, id 는 Primary Key 라서 자동으로 인덱스가 생성되어 있고 name 컬럼에 대해서도 검색을 위해 인덱스를 추가하려고 할 때 다음 두 방식 중 어떤 것이 더 적절한지 궁금합니다. name 컬럼에 단일 인덱스 를 생성 (id, name) 형태의 복합 인덱스 를 생성 이 경우 커버링 인덱스 관점에서 어떤 방식이 더 올바른 설계인지 설명해주시면 감사하겠습니다 :>

  • mysql
  • dbms/rdbms
  • database
  • modeling
  • db
dt10002 댓글 3 좋아요 0 조회수 174

33:02 에 나온 문제 질문입니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

33:02에 나온 문제에서 만약에 a와 b도 같이 출력하라고 할 경우 a가 5, b가 9일때까지 돌린다음 조건문 빠져나와서 한 번 더 1과 2씩 더한 값인 6과 11을 적어야 하나요?

  • python
  • java
  • c
백인혁 댓글 2 좋아요 0 조회수 92

15:38

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

정적메서드는 인스턴스 변수에 접근못한다고햇는데 int size 를 부르면 에러가 나야하는거 아닌가요..? 영상을 세번이나 돌려봤는데 어떨때 에러가 나는건지 이해가 잘안가요…

  • python
  • java
  • c
  • 정보처리기사
김희윤 댓글 2 좋아요 0 조회수 95

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. ============================= 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
치즈볼 댓글 1 좋아요 0 조회수 101

공통 코드 사용시 컬럼 타입 설정

미해결

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

안녕하세요. 공통 코드를 가져와 사용하는 테이블 스키마를 정의할 때 궁금한 점이 있습니다. 영상 11분 05초를 보면 주문 테이블 과 결제 테이블 을 정의합니다. 이때 , order_status , payment_method , payment_status 와 같은 컬럼을 varchar로 정의하셨습니다. type-safe하게 정의한다면, 해당 컬럼들을 enum으로 정의하거나 공통 코드 상세 테이블과 relation을 설정해서 외래키를 사용할 거 같은데, 이와 같은 방식은 유지보수를 더 어렵게 만드는 구조인걸까요? type-safe하게 만들고 싶다면 애플리케이션 레벨(서버측 코드)에서 정의해주는게 좋은 방법인걸까요? ---------------------- 참고로 저는 nodejs 기반의 백엔드 개발자이며, 김영한님의 강의는 네트워크+DB만 수강하고 있습니다. (java+springboot+jpa 등의 지식과 경험은 전무합니다.)

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
JB_ 댓글 1 좋아요 0 조회수 125

수업노트

해결됨

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

수업노트에 뭐라고 작성하신건가요? 파일이 깨진건지 핵심 문장이 안보여요

  • java
  • kotlin
  • 객체지향
화를참자 댓글 1 좋아요 0 조회수 92

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. ============================== 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
댓글 3 좋아요 0 조회수 146

프로덕트와 프로덕트카테고리 사이의 삭제 정책

해결됨

제미니의 개발실무 - 커머스 백엔드 기본편

안녕하세요, 선생님! 좋은 강의 제공해주셔서 감사합니다. 덕분에 단순히 구현에만 집중하기보다, 설계와 개념에 대해 더 고민하면서 코드를 작성하게 되었습니다. 섹션 2의 ‘개념 느끼기’ 부분에서 Product가 Product Category보다 더 상위의 개념이라고 말씀해주셨던 것으로 기억합니다. 저도 그렇게 이해했습니다. 그런데 코드 구현 파트에서 Product와 Product Category 사이의 삭제 정책을 두 가지 예시로 설명해주셨는데, 그 부분에서 한 가지 궁금증이 생겼습니다. 제 생각에는 개념적으로 Product가 더 상위 개념이라면, Product가 삭제될 때 Product Category도 함께 삭제되는 정책이 조금 더 자연스러운 흐름처럼 느껴졌습니다. 이 부분에 대해 제가 개념을 잘못 이해한 것인지, 아니면 실무적인 관점에서 추가로 고려해야 할 부분이 있는지 궁금합니다. 혹시 제가 놓치고 있는 관점이 있다면 조언 부탁드립니다!

  • kotlin
  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
신준호 댓글 2 좋아요 1 조회수 109

강의 github 어디에 있나요?

미해결

graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)

안녕하세요. 강의 코드가 담겨있는 github 을 찾고자 합니다. 알려주시면 감사하겠습니다.

  • dbms/rdbms
  • neo4j
  • llm
  • langchain
  • rag
이주영Ju 댓글 2 좋아요 0 조회수 98

오랜만에 질문 남깁니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

요즘 폰으로 점심시간에 틈틈히 강의 보고있는데 pc로만 질문이 가능해서 못 남겼었습니다ㅠㅠ 이번 질문은 단지 제 개인적인 궁금증인데, 만약 0==NULL 이렇게 비교를 하게되면 참이 되나요? equals 0==NULL이면 참인가요?

  • python
  • java
  • c
  • 정보처리기사
김가현 댓글 2 좋아요 0 조회수 91

JPQL 메소드와 락

미해결

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

JPQL 호출 시에 flush가 진행된다고 했는데, @Query 어노테이션이 달린 메소드를 호출하는 서비스 메소드에는 쓰기 락을 걸어두는게 좋을까요?

  • java
  • jpa
dlwnstjr31 댓글 1 좋아요 0 조회수 75

외부 api 처리 방안에 대하여 궁금한 점이 있습니다.

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

수업 예시에서는 외부 api가 실패할 경우 스케쥴러를 활용해서 후보정 로직을 통하여 결과적 일관성을 맞추고 있습니다. 만약에 자리를 지정하는 콘서트를 위와 같이 처리할 경우 (예약은 성공, 외부 api는 실패), 후보정 로직이 동작하기 전 다른 예약 시스템에서 해당 자리를 예약한 경우 더욱 큰 문제가 발생할 수 있을 것으로 보입니다. 이러한 경우 (좌석처럼 한정된 자원을 예약하는 경우), 외부 API 실패 시 후보정 로직을 통한 비동기 처리 대신 동기적으로 처리하는 것이 올바른 방식인 것 같은데, 강사님은 어떻게 생각하시는지 궁금합니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
Gomgomi 댓글 2 좋아요 0 조회수 132

제네릭 반환값 및 파라미터 선언 방식의 변화 <T> T

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 안녕하세요. 17강에서 와일드카드 공부 중인데, 갑자기 와일드카드 예시에서 기존에 제네릭 예제에서는 사용하지 않던 문법들이 보여서요. 와일드카드를 쓰지 않는 제네릭 메서드인데도 갑자기 메서드 선언 방식이 바뀐 것 같아요. 왜 기존에는 반환값으로 <T> T 를 적었는데 왜 이번 강의에서는 <T> 만 적는 것인지 모르겠어요. 그리고 이전에는 파라미터로 T t 를 넘겼는데, 왜 지금은 Box<T> box 를 통째로 넘기는 것인지도 이해가 안 가요. static <T> void printGenericV1(Box<T> box) { System.out.println("T = " + box.get()); } 이전 제네릭 강의에서 사용한 방식 public <T> T printAndReturn(T t) { System.out.println("animal.className: " + animal.getClass().getName()); System.out.println("t.className: " + t.getClass().getName()); return t; } 감사합니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
슝슝 댓글 1 좋아요 0 조회수 96

규칙 1에 대해서

미해결

비전공자도 이해할 수 있는 DB 설계 입문/실전

규칙 1에 대해서 생각이 나서 드는 의문인데요 누가 좋아요를 눌렀는지 그 컬럼이 지금 여러개의 원소가 들어가있으니까 그 컬럼만 빼서 다른 테이블에 다 만들어야하는거아닌가요? 어짜피 게시글 id는 1,2로 딱 하나하나씩 들어가 있으니까... 왜 이 중복을 밑으로 나열하는지 모르겠어여

  • mysql
  • dbms/rdbms
  • database
  • dba
escho94 댓글 2 좋아요 0 조회수 94

where 대신 having을 써도 되나요?

미해결

김영한의 실전 데이터베이스 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] select * from products p1 where price >= ( select avg(p2.price) from products p2 where p2.category = p1.category); 대신에 select name,price from products p1 where price >= (select avg(p2.price) from products p2 group by category having p1.category=p2.category); 으로 써도 문제 없나요?

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
escho94 댓글 1 좋아요 0 조회수 129

Delivery @OneToOne

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Delivery에 있는 @OneToOne(mappedBy = "delivery", fetch = LAZY) private Order order; 에서 인텔리제이가 fetch = LAZY에 노란줄이 떠서 확인해보니 Specifying FetchType.LAZY for the non-owning side of the @OneToOne association will not affect the loading. The related entity will still be loaded as if the FetchType.EAGER is defined. 이런 메세지가 뜹니다. 찾아보니 Lazy를해도 Eager로 동작한다는 거 같은데.. 실제로 테스트를 해보니 Eager로 동작 하고 있어서 여기에 OneToOne인데 lazy로 동작해도 상관없는걸까요?? 아니면 제가 어떤걸 놓친건지 궁금합니다

  • java
  • jpa
Cola 댓글 1 좋아요 0 조회수 91

21강에서 이해하기 어려운 부분들이 있습니다!

해결됨

10,000++억의 데이터를 다루는 카카오 면접관의 MySQL

안녕하세요 Hong님! 21강 '데이터 모델링 : 수많은 yes or no 속성 디자인 정의와 논리 모델' 을 듣는 와중에 이해하기 어려운 부분들이 있어 질문드리고 싶습니다! Boolean 속성이 늘어날 때의 문제들 21강에서 yes or no 속성이 늘어나는 것이 근본적인 아키텍처 관점에서의 문제점, ALTER 로 스키마를 변경하는 작업이 필요하다는 것, Boolean 타입으로 표현할 수 있는 정보의 한계, I/O 비용의 증가를 만들어낸다고 설명해주셨는데요! 근본적인 아키텍처에 어떤 문제점이 생기는지, 잘 모르겠습니다. ALTER로 스키마를 변경하는 것으로 문제가 야기되는 부분이 정확히 어떤 부분이라고 생각하시는지 궁금합니다. 이미 많은 레코드가 있는 테이블의 스키마를 변경함으로써 생겨나는 I/O 부하를 생각하시는 걸까요? I/O 비용의 증가가 발생한다는 부분은 2번에서의 비용 증가를 말씀해주신 걸까요? SELECT 비용 증가라면 사실 저장해야 하는 정보가 늘어나면서 자연스러운게 아닌가 싶은데 어떤 관점에서의 문제를 짚어주신 건지 궁금합니다. 논리 모델과 물리 모델 논리 모델과 물리 모델을 분리시키는 것이 기본적인 데이터베이스의 설계 원칙이라는 설명을 해주셨는데요! 그 뒤의 설명이 물리 모델 설계 방법들이고 해당 원칙을 어떻게 적용해야 할지에 대한 가이드는 없어서 해당 원칙을 언급해주시고 넘어가셨던 이유가 궁금합니다. 논리 모델과 물리 모델을 분리시키는 건 One Table per Anchor, Side Table, EAV 세 가지 기법이 있다고 설명해주시려는 의도였던 걸까요? 이어지는 설명에서 혼동이 와서 설명을 어떻게 정리하여 이해해야 하는지 파악이 어렵습니다 ㅠ 항상 질문에 좋은 답변을 주시기 위해 노력하시는 Hong님 감사합니다 :)

  • mysql
  • dbms/rdbms
신제우 댓글 1 좋아요 0 조회수 99

주문 내역에 대한 고객 데이터

미해결

김영한의 실전 데이터베이스 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ [질문 내용] 강사님께서 주문 내역에 대한 데이터면 이제 주문(orders) 테이블을 기준으로 하는것이 좋겠다 정도는 이제 느낌이 올거에요 라고 하셨는데 전혀 느낌이 오지않아서 흑흑... 제가 생각하기엔 ~에 대한 [고객 데이터]이니까 users가 주인공이여서 그걸 기준으로 잡는다고 생각했는데요 ~ 에 대한일때 ~물결표시있는 부분을 기준으로 잡아야하나요?

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
escho94 댓글 2 좋아요 0 조회수 103

중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문

미해결

김영한의 실전 자바 - 중급 1편

[질문 내용] 여기에 질문 내용을 남겨주세요. { private final Random random = new Random(); private int[] lottoNum; private int count; public int[] generate() { lottoNum = new int[6]; count = 0; while (count < 6) { //1-45 숫자 생성 int num = random.nextInt(45) + 1; //중복 제거 필요 if (isUnique(num, count)) { lottoNum[count] = num; count++; } } return lottoNum; } public boolean isUnique(int num, int count) { if(lottoNum[count]==num){ return false; } else {return true;} } } isUnique 메서드를 이렇게 작성하면 중복제거가 안 되는 이유가 뭘까요

  • java
  • 객체지향
칼라똥 댓글 1 좋아요 0 조회수 111

인기 태그

인프런 TOP Writers

주간 인기글