inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Join 실습 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

public class JoinMainV3 { public static void main(String[] args) throws InterruptedException { log("Start"); SumTask task1 = new SumTask(1, 50); SumTask task2 = new SumTask(51, 100); Thread thread1 = new Thread(task1, "thread-1"); Thread thread2 = new Thread(task2, "thread-2"); thread1.start(); thread2.start(); // 스레드가 종료될 때 까지 대기 log("join() - main 스레드 대기 시작"); thread1.join(); thread2.join(); log("main 스레드 대기 완료"); log("task1.result = " + task1.result); log("task2.result = " + task2.result); int sumAll = task1.result + task2.result; log("task1 + task2 = "+ sumAll); log("End"); } static class SumTask implements Runnable { int startValue; int endValue; int result = 0; public SumTask(int startValue, int endValue) { this.startValue = startValue; this.endValue = endValue; } @Override public void run() { log("작업 시작"); sleep(2000); int sum = 0; for (int i = startValue; i <= endValue; i++) { sum += i; } result = sum; log("작업 완료 result = " + result); } } } 안녕하세요. 위 코드는 강의실습에 사용된 코드입니다. 개인적으로 thread1.join(), thread2.join() 에 대해 main쓰레드가 WAITING 상태인지를 확인하고 싶어 아래와 같이 코드 중간 중간에 상태를 체크해봤습니다. log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread1.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread2.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); 결과는 모두 RUNNABLE로 나타나는데요. sleep시간을 늘려봐도 여전히 RUNNABLE상태가 나옵니다. 코드의 어떤 부분을 수정해야지 WAITING상태를 확인할 수 있는지 궁금합니다~!

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
창신동 장첸 댓글 2 좋아요 0 조회수 184

javx 질문입니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. import관련해서 문제가 생겼습니다.. jakarta는 아예 안됩니다.

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 262

[사이드 프로젝트] 하이버네이트 No session 에러 질문 드립니다.(lazyinitializationexception)

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 현재 회원 엔티티 시점 Member(회원) 1 : N Pet(반려견) 일대다 관계인 상태입니다. -Member(회원) 엔티티 -Pet(반려견) 엔티티 연관관계 설정해 둔 모습입니다. -이게 문제가 되고 있는 서비스 로직입니다. MemberRepository에서 회원의 role(역할)을 찾은 후, role(역할)이 CUSTOMER(고객)인 경우 해당 회원의 정보와 갖고 있는 List<>형태의 pet을 한 번에 갖고 와서 DTO로 변환 해서 반환하려고 합니다. 실제로 어떻게 리포지토리에서 조회하고 있는지 보여드리겠습니다. -role(역할)이 CUSTOMER(고객)인 경우 findByCustomerId()로 위와 같이 회원과 pet을 한 번에 조회하고 있습니다. (실제 쿼리문이 나가는 것을 봤을 때도 fetch join 쿼리로 나가서 pet이 프록시가 아닌 실 객체 데이터로 조회되는 것을 확인했고, 디버깅도 해봤는데 pet 컬렉션에 데이터가 있는 것도 확인했습니다.) 다음으로 member 엔티티를 DTO로 어떻게 반환하는 지 보여드리겠습니다. -Pet(반려견)을 PetResponse라는 DTO로 다시 바꿔서 반환 시켜주려고 하고 있는 상황이고 -이게 PetResponse 입니다. 여기까지가 현재 저의 문제가 되고 있는 코드와 동작 방식입니다. 현재 뜨고 있는 오류는 lazyinitializationexception 에러가 발생하고 있습니다. 알아보니 트랜잭션 주기 안에서 컬렉션을 조회하는 것이 아니라, 하이버네이트 세션이 끝난 후 영속성 컨텍스트가 사라진 상태에서 엔티티가 갖고 있는 컬렉션(pets)을 조회하게 돼서, 트랜잭션 내에 존재한 영속성 컨텍스트 내의 pets를 조회하는 것이 아닌 새로운 영속성 컨텍스트에서 조회를 하게 돼버려서 실 객체 데이터가 조회되는 것이 아닌 프록시 객체가 조회가 되고 있다는 내용으로 이해했습니다. 그래서 제가 여태 해본 방법으로는, 서비스 레벨의 findById(long id) 메서드에서 member 정보만 따로 조회하고 pet만을 따로 각각 조회한 후 dto로 반환 해보기 (예: memberRepository.findByid()로 회원만 조회, petRepository.findbyCustomerId()로 pet만 따로 조회 후, new MemberResponse.GetCustomer()로 반환 -> 안됨.(X) 현재 메서드 레벨 위에 작성되어 있는 트랜잭션 어노테이션이 readOnly = true로 읽기 전용이면 pets를 초기화 할 수도 없을 수 있다길래 readOnly = true 옵션도 빼 보기 -> 안됨.(X) yml 설정 파일에 spring: jpa: open-in-view: true 옵션 설정 해보기 -> 안됨.(X) Member(회원) 엔티티에 읽기 전용으로 있는 List<> pets를 지연 로딩이 아닌 즉시로딩으로 바꾸기. -> 이 경우에만 됨.(O) Hibernate.initialize(member.getPets()); 을 사용해서 컬렉션 강제 초기화 하기 -> 안됨.(X) 현재 이렇게 까지 시도해 봤고 pets를 즉시 로딩으로 바꾸는 경우 말고는 아예 되지 않는 상황입니다. 보통 저와 같은 경우 간단하게 해결되는 문제던데 스택오버플로우와 구글의 힘을 빌려 검색해서 시도해 본 결과 해결되지 않았습니다.. 제가 어떤 실수를 하고 있는지, 뭐가 문제인지 봐주시면 감사하겠습니다.!! 추가 설명이 필요하거나 깃허브 주소라도 필요하면 댓글로 남기겠습니다!

  • java
  • spring
  • spring-boot
  • jpa
이도현 댓글 2 좋아요 0 조회수 167

강의 : Addressables를 활용한 어셋 관리 및 로딩 처리 문의

해결됨

유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

현재 사용중인 기기 : 맥북 SettingsUI 어드레서블 에셋 등록 시 폰트 리소스 렌더링 이슈 강의와 차이점 : OpenGLES3 없음 -> OpenGLCore(Deprecated) 로 대체 폰트 렌더링이 되지 않고 있습니다. 해결 방법 아시는분 계시면 공유 부탁드립니다. 추가 Mac Silicon Chips 은 Metal 사용 Canvas Renderer 충돌로 보임 플레이 시 Material -> shader 옵션 변경 시 텍스트 전체 보임 폰트 설정 시 해당 텍스트 보임 대체 안 폰트도 어드레서블 등록해서 리소스 관리할지

  • C#
  • unity
  • 객체지향
dpravity 댓글 2 좋아요 0 조회수 263

세계 시간 API 서버 이슈로 대체할만한 API 아시는분 계신가요?

해결됨

유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

세계시간 API 서버 SSL Connection 에러로 호출이 되지않아 대체 API 를 찾고있습니다. 대체 API 아시는 분은 공유 부탁드립니다. 강의 예제 세계 시간 API : https://worldtimeapi.org/api/ip 상태 체크 : https://status.worldtimeapi.org/

  • C#
  • unity
  • 객체지향
dpravity 댓글 2 좋아요 0 조회수 705

2.14 SSG 관련 질문

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요, 강의 2.14에서 이전에 SSR로 만들었던 페이지를 SSG로 변경하는 것 관련하여 질문이 있습니다. SSG에서는 빌드타임에 페이지를 생성하기 때문에 쿼리스트링을 불러올 수 없어서 SSG로 만들고 싶다면 쿼리스트링 가져오는 부분은 클라이언트 사이드쪽에 코드를 추가해주면 가능하다고 하셨는데, 그럼 이 프로젝트의 검색페이지 같은 경우는 SSR를 사용하는게 나은지 SSG를 사용하는게 나은지 궁금합니다. 둘다 장단점이 있기 때문에 개발자의 판단에 달려있는걸까요? 쿼리스트링을 사용하는 페이지에서 어떤 경우에는 SSR로 만드는게 낫고 어떤경우에는 SSG로 만드는게 나을지 그 기준에 대해서도 궁금합니다. 강의 너무 잘 듣고 있습니다. 감사합니다. ++ 다른 비슷한 질문에 답변 다신 것 읽어봤는데 SSG는 식당에서 반찬을 먼저 주는 것과 같다고 말씀하셔서 이해가 잘되었습니다. 근데 SSG의 단점이 최신 데이터의 반영은 어려운것이기 때문에 데이터가 잘 변경되지 않는 페이지에서 사용하는 것이 좋다고 하셨는데, 그럼 검색페이지의 검색결과가 계속 바뀐다고 가정하면 (책 데이터가 계속 추가됨) SSR을 사용하는게 나은가요? 아니면 그 부분은 어차피 클라이언트 사이드에서 쿼리스트링 추가해서 다시 새로 불러오기 때문에 SSG로 사용해도 무방한가요? 거의 다 이해한 것 같은데 조금 헷갈리네요 ㅎㅎ

  • react
  • typescript
  • next.js
자현 Kaylla 댓글 2 좋아요 0 조회수 301

article_id에 대해서

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

comment기능에서 comment테이블에 article_id을 shard key로 사용한다고 하셨는데 comment기능은 article기능에 뎃글을 다는 기능으로 article테이블에 article_id와 연관관계를 맺는 컬럼이 아닌건가요? 만약맞다면 article테이블에 article_id를 comment테이블에 article_id에 저장되게끔 해야 할 듯 한거 같은데 1고정값으로 넣는게 이해가 안되서 질문드렸습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
ultimates 댓글 2 좋아요 0 조회수 160

상업적 출시에 대한 질문입니다.

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

강의 정말 도움이 많이 되었습니다. 스킬 이펙트, 아이콘, 폰트등 제가 사용해도 되는것들이 있을까요?? 감사합니다.

  • C#
  • unity
  • object-pooling
유들 댓글 1 좋아요 0 조회수 187

정리 질문있습니다

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

안녕하세요 I/O 흐름을 제가 제대로 이해했는지 궁금합니다... I/O class : byte class / String class 로 나뉨 byte class output 위주로 정리 기본스트림(FileOutputStream)을 사용하여 1byte씩 loop를 사용해서 쓰기 byte array 사용하여 배열 사이즈 만큼 쓰기 보조스트림(BufferedOutputStream)을 사용하여 쓰기 String class 기본스트림(FileOutputStream) 과 String.getBytes(charset)을 사용하여 직접 인코딩하여 쓰기 보조스트림(OutputStreamWriter : 인코딩 대신 처리)사용하여 쓰기 FileWriter(FileOutputStream을 내부에서 생성 / OutputStreamWriter 상속) 사용하여 쓰기 질문1) 위의 흐름이 맞을까요? 질문2) String class 는 인코딩을 해야하지만 byte class 인코딩을 하지 않는다. 두가지 질문이 맞을까요?

  • java
  • 네트워크
  • 객체지향
조소영 댓글 1 좋아요 0 조회수 118

TaskGroupState에 대하여 질문이 있습니다

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템

이것저것 수정하면서 알아챈 점이 있는데 TaskGroup의 public bool IsAllTaskComplete => tasks.All(x => x.IsComplete); public bool IsComplete => State == TaskGroupState.Complete; 이 부분에서 IsAllTaskComplete이 참이 되면 어짜피 태스크 그룹의 State도 클리어가 되어야하고 Iscomplete 참이 되어야하는데 왜 이렇게 되어있는지 여쭤보고싶습니다. 혹시 강의 내용에 사유를 말씀하셨다면 죄송합니다.

  • unity
고우진 댓글 2 좋아요 0 조회수 133

코드 관련한 몇 가지 질문입니다!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요. 서버 쪽에 HandleSkill() 함수를 보면 스킬 사용이 문제 없다면 주석에 info.PosInfo.State = EntityState.Skill 코드가 있는데요. 지금 시점에서는 사용되지 않는 코드인 것 같은데 나중에 사용될까요? 당연히 지금 로직에서는 없어도 동작에 지장이 없습니다. 클라이언트의 PlayerController.cs에서 CoStartPunch() 함수를 호출할 때 쿨타임을 위해(?) CheckUpdateFlag()를 호출하는데 이게 기본적으로 이동 패킷이라서 지금 로직에서는 없어도 되는 코드로 보입니다. 강의에서 설명해주신 기능에 실제로 이 코드가 필요한 게 맞는지 궁금합니다 쿨타임 관련해서 클라/서버 둘 다 처리해야 한다고 말씀하셨는데 작성된 코드를 보면 클라에서만 코루틴을 사용해서 처리하신 것 같습니다. 서버에서는 시간 관련한 로직이 없으니까요. 감사합니다.

  • C#
  • unity
literate_t 댓글 2 좋아요 0 조회수 195

안녕하세요!! 질문있습니다!!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Comment 엔티티 생성시 연관관계를 Long articleId로 해줌으로써 Article 엔티티와 연관관계를 맺어준것일까요? Article과 Comment는 1:N 관계로 보이는데, comment 테이블 설계 당시 Article에 대한 외래키 관리를 comment 테이블에서 안해준 이유도 궁금합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
service 댓글 3 좋아요 0 조회수 306

composers 기능 질문있습니다

해결됨

3시간 만에 끝내는 Cursor 완벽 가이드

composers 기능이 현재는 다른 이름으로 대체되거나 없어졌나요? 찾을 수가 없네요

  • react
  • next.js
  • cursor
  • 인공지능(ai)
코틀린자바 댓글 2 좋아요 0 조회수 534

error.tsx 핸들링에서 막국수를 검색할때

해결됨

한 입 크기로 잘라먹는 Next.js

error.tsx 핸들링에서 막국수를 검색할때 error.tsx component가 보이지 않습니다. 혹시 변경된부분이 있나요..? 현재 api주소로 직접 던져보니 빈배열을 받아와서 error처리가 안됬네요, 혹시 강사님께서는 이런에러처리를 어떻게하셨나요? 보통 어떻게하는게 좋을지를 몰라서요.. 아 죄송합니다. 백엔드 server를 중단안했네요.하하하 참 정신이없네요. 그나저나 위의 저 빈배열은 보통 에러처리가 어떻게하는지는 궁금합니다.

  • react
  • typescript
  • next.js
codingforfun 댓글 2 좋아요 1 조회수 293

강의자료 PDF가 있는지 궁굼합니다!

해결됨

한 입 크기로 잘라먹는 Next.js

🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • typescript
  • next.js
방토 댓글 2 좋아요 0 조회수 460

vercel에 배포하였으나 페이지가 제대로 동작하지 않습니다

해결됨

한 입 크기로 잘라먹는 Next.js

왜 안되는 것인지 잘 모르겠습니다. https://onebite-books-page-l47231g07-min-jiyeongs-projects.vercel.app/ 화면은 보였다가 안보였다가 하고, book id 별로 보이는 것도 있고 보이지 않는 것도 있습니다

  • react
  • typescript
  • next.js
민지영 댓글 2 좋아요 0 조회수 421

2.18) ISR 2. 주문형 재 검증 질문 )

해결됨

한 입 크기로 잘라먹는 Next.js

/book/3만 " 존재하지 않는 페이지 입니다."라고 뜨는데 이유를 잘 모르겠습니다. 아래는 npm run build 결과입니다. > section02@0.1.0 build > next build ▲ Next.js 15.1.6 ./src/components/book-item.tsx 17:7 Warning: Using <img> could result in slower LCP and higher bandwidth. Consider using <Image /> from next/image or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element ./src/pages/book/[id].tsx 51:9 Warning: Using <img> could result in slower LCP and higher bandwidth. Consider using <Image /> from next/image or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element ./src/pages/search/index.tsx 20:6 Warning: React Hook useEffect has a missing dependency: 'fetchSearchResult'. Either include it or remove the dependency array. react-hooks/exhaustive-deps info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/app/api-reference/config/eslint#disabling-rules ✓ Linting and checking validity of types Creating an optimized production build ... ✓ Compiled successfully ✓ Collecting page data 인덱스 페이지 렌더링 fetchOneBook error Error: 서버 상태 오류 at u (.next/server/pages/book/[id].js:1:634) at async x (.next/server/pages/book/[id].js:1:873) ✓ Generating static pages (8/8) ✓ Collecting build traces ✓ Finalizing page optimization Route (pages) Size First Load JS ┌ ● / (ISR: 3 Seconds) 1.05 kB 95.7 kB ├ /_app 0 B 94.6 kB ├ ○ /404 322 B 94.9 kB ├ ƒ /api/hello 0 B 94.6 kB ├ ƒ /api/revalidate 0 B 94.6 kB ├ ● /book/[id] (5318 ms) 705 B 95.3 kB ├ ├ /book/3 (5072 ms) ├ ├ /book/1 ├ └ /book/2 └ ○ /search 1.11 kB 95.7 kB + First Load JS shared by all 96.9 kB ├ chunks/framework-a4ddb9b21624b39b.js 57.5 kB ├ chunks/main-d4c20200ddabac7f.js 33.7 kB └ other shared chunks (total) 5.68 kB ○ (Static) prerendered as static content ● (SSG) prerendered as static HTML (uses getStaticProps) (ISR) incremental static regeneration (uses revalidate in getStaticProps) ƒ (Dynamic) server-rendered on demand // book/[id].tsx // index.tsx

  • react
  • typescript
  • next.js
민지영 댓글 2 좋아요 0 조회수 145

모든 class들은 컴파일시 자동으로 Class라는 static변수가 생성되나요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Class clazz = String . class ; // 1. 클래스에서 조회 Class helloClass = Hello.class; 위 방식으로 클래스를 조회하는것을 보면 각각의 클래스에 Class라는 static변수에 접근하는 것으로 보이는데 이는 컴파일 시 모든 클래스들에 직접 입력하지 않아도 Class라는 static변수(private static Class class)가 자동으로 생성되기 때문인가요?

  • java
  • 객체지향
sticker_inverts.06 댓글 1 좋아요 1 조회수 164

게시글목록 최적화 전략설계 질문

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

조회용 게시글 목록 캐시가 미리 있는 상태에서 게시글이 수정이 된다면 게시글 조회 서비스에서 구독을 통해서 캐시 수정이 이뤄져야 하는걸까요? 강의에서는 작성/삭제 두가지만 말해주시는거 같아서 수정인경우도 알고싶습니다~

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
쭈도리 댓글 2 좋아요 0 조회수 139

연관관계 매핑의 의미가

미해결

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

연관관계 매핑: 객체의 참조와 테이블의 외래키를 매핑하고, 객체간의 관계(다대일관계)와 테이블간의 관계(외래키-기본키관계)를 매핑하는것. 객체간의 관계에서는 Member객체는 team필드를 통해 Team객체를 참조한다. 테이블간의 관계에서는 MEMBER테이블의 외래키(TEAM_ID)를 통해 TEAM테이블을 참조한다. 이렇게 객체와 테이블은 구조적으로 다르기 떄문에 객체간의 관계와 테이블간의 관계를 동일하게 해주기 위해 연관관계 매핑이 필요하다. team필드를 통해 Team객체를 참조하던것을 외래키(TEAM_ID)를 통해 기본키(id)를 참조하도록 변경한것이라고 생각하면된다. 이렇게 이해하고 정리해봤는데 이게 맞을까요?

  • java
  • jpa
오리쉐리 댓글 1 좋아요 0 조회수 111

인기 태그

인프런 TOP Writers

주간 인기글