inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

gradlew build 오류 해결완료!

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 저는 윈도우10이고 인텔리제이 터미널에서가 아닌 윈도우 cmd에서 오류가 발생했을 때 해결했습니다! gradlew까진 됐는데, gradlew build 했을 때 저랑 같은 오류인 경우 참고하심 좋을 것 같아요 1. 프로젝트 생성 할 때 OneDrive 말고 내 PC -> 사용자 -> 내 계정이름(공용x) -> 여기에 study폴더 생성 후 압축 여기에 풀기 C:\Users\사용자이름\OneDrive\바탕 화면\study <- 가 아니라 C:\Users\사용자이름 에 study폴더를 만들어서, C:\Users\사용자이름\study 여기 안에 hello-spring 넣기 ----물론 사용자이름은 영어로 설정---- 2. build.gradle 잘 선택했는지 확인 (<- 저는 gradle 잘못 선택했었어요) 여기서도 경로가 OneDrive인지 확인! 3. 윈도우 cmd 보시는 것처럼 onedrive가 아닌 저 경로에서 cd study -> cd spring-hello를 하고, (강의에서 ll은 윈도우에선 dir) hello-spring 안에 들어가셔서 gradlew를 진행했고, 그 후 gradlew build를 했더니 드디어 성공,,! (윈도우는./ gradlew build가 아닌, 그냥 gradlew, gradlew build) 4. java -jar 오류! 저기 hello-spring 파일이 2개가 있는데 그 중에서 -plain말고 밑에 걸 선택하시면 됩니다. gradlew build 후에 libs에 가셔서 java -jar hello-spring-0.0.1-SNAPSHOT.jar을 진행했는데 오류가 떠서 gpt에 물어봤더니 현재 쓰고 있는 자바 버전이 너무 낮아서 안된다고 하네요. cmd에서 java -version해서 봤더니 1.8로 돼있었음... 다른 강의에서 1.8로 설정한 거라 몰랐네요ㅜㅜ 그래서 환경변수에 시스템 변수에 있는 Path를 1.8로 되있는 걸 삭제하고 jdk 21이 경로로 설정해주고 가장 위로 올려줬습니다. 그 후에 cmd 껏다 키고, libs파일까지 들어간 후에 java -jar hello-spring-0.0.1-SNAPSHOT.jar 을 해주면? Spring 너무 반갑쓰,,,ㅠㅠ (종료하실 땐 컨트롤 + C) 정리하자면 1. OneDrive 안에 있는지 확인. 2. build.gradle 잘 선택했는지 확인. 3. 환경변수 Path 자바 버전 확인! 이 글을 쓰는 것까지 8시간에 걸쳐 오류 해결과 해결 과정 작성을 마무리 합니다ㅠ 너무 두서없이 썼을 수도 있지만 같은 상황이시라면 최대한 도움 되셨음 좋겠네요. 다들 열공하십쇼!

  • java
  • spring
  • mvc
  • spring-boot
ᄒᄉ 댓글 1 좋아요 3 조회수 526

머신러닝 순서 질문 드립니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 학습 커리큘럼에는 데이터불러오기, EDA 전처리 피처엔지니어링 모델링/평가(분류/회귀) 평가지표 머신러닝파트에서 정리하신 순서는 불러오기 EDA 전처리 피처엔지니어링 검증데이터분리 모델학습,평가 등 예측 CSV파일 생성 이렇게 구성되었습니다. 커리큘럼과 학습정리 순서가 왜 다른지? 그럼 둘 중 뭐가 맞는가요? 커리큘럼 작업형2의 모의고사1 에서 머신러닝 풀다보면 불러오기-EDA-전처리-피처엔지니어링-검증데이터분리-모델학습,평가까지만 나가고 이 후 예측 부분을 작업하진 않으신 것 같습니다. 맞는지 확인 바랍니다. 설명이 프로세스대로 구분되지 않고 실습 형태로 위 아래 왔다 갔다 전개되어 단계별 경계를 구분할 수 없습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
강민균 댓글 2 좋아요 0 조회수 133

누름틀 적용항목 vs 엑셀항목 간의 순서관련 질문

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

섹션2 [응용] 엑셀문서 값을 필드에 입력하기 안녕하세요....선생님 만약 제가 관리하는 엑셀파일의 열별 정리순서가 ["이름", "주소", "연락처", "성별", "생일", "취미"] 인 파일을 이용하여, 한/글 누름틀 적용하여 ["이름", "성별", "생일", "취미"]만 추출하고자 한다면....어떻게 해야 하는지요? 저는 누름틀을 이용하면 엑셀파일에서 [이름, 성별,생일,취미]에 해당하는 열에서 값을 불러와 한/글로 가져오는 줄 알았습니다만....실제로 해보니 [이름,주소,연락처,성별]로 파일이 생성되더군요. 코딩없이 한/글 메일머지를 이용하면 엑셀의 항목과 한/글의 항목이 일치하는 값을 불러와 주던데...... 누름틀은 그렇지 않은 것인지...아니면 제가 실수한게 있는지 궁금합니다.

  • python
  • 한컴오피스
  • 누름틀
조현우 댓글 2 좋아요 1 조회수 625

붙혀넣기는 좀..

미해결

PySide6 파이썬 GUI

이 강의를 계속 봐도 되는 건가 하는 생각이 들었습니다.

  • python
  • gui
  • pyside6
simpan13 댓글 2 좋아요 0 조회수 136

이강의만 보고 구현은 가능할까요?

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 혹시 이강의를 보고 게시판하나 만들까하는데 MyBatis대신 JPA를 써볼까 합니다... 너무 방대한 걸 알지만 혹시 이 한시간짜리 섹션강의를 보고 간단한 게시판정도는 해볼 수 있을까요? 저는 취준을 시작한 비전공자입니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
berichmore 댓글 1 좋아요 0 조회수 178

WEB-INF 파일 관련 53강 에러발생

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

안녕하세요, 강의 진행 중 53강에서 WEB-INF 폴더로 member폴더를 이동했는데도 계속 404 에러가 발생해서 질문 남깁니다. 이전까지는 결과가 잘 실행되었는데 이 부분이 문제입니다. 혹시나 해서 이클립스 껐다가 다시 실행, 서버 클린, 서버 다시 실행, MYSQL 다시 실행, 프로젝트 클린, 웹브라우저 캐시 비우고 강력새로고침도 해봤고... 콘솔로 결과값도 찍어봤는데 경로도 나옵니다ㅠㅠ 어디를 놓친 것인지 모르겠네요. 관련 이미지를 첨부드립니다. .

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
구탱 댓글 2 좋아요 0 조회수 254

4.2.1 매매 시그널 정의 파일 다운로드 경로 문의

미해결

파이썬 주식 매매 봇으로 주식시장 자동사냥하기

4.2.1 매매 시그널 정의 삼성전자 실습데이터 파일 어디서 다운로드 할 수 있나요??

  • python
  • pandas
  • 차트분석
  • 퀀트
  • trading
sangyeop dong 댓글 3 좋아요 0 조회수 290

최근(어제) 질문이 사라졌습니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 어제 제가 올린 질문이 이곳에 노출이 안 되었고, 24년 11월 29일이 마지막 질문으로 11월 29일 이후 질문이 노출 되지 않았습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
강민균 댓글 2 좋아요 0 조회수 87

@Configuration과 @Transactional

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

안녕하세요 항상 강의를 잘 보고 있습니다. @Configuration과 @Transactional 둘 다 상속을 이용한 proxy기법(CGLIB, AOP)을 사용하는 것으로 확인하였습니다. 만약 저가 MemberService라는 class에 @Service, @Transactional를 부여한 후 ComponentScan을 하면 MemberService의 프록시 객체가 빈으로써 생성되어 스프링 컨테이너에 반환되는 것을 확인하였는데 궁금한 것은 @Configuration과 @Transactional 이 둘이 각각 프록시를 생성하는 것인지 혹은 하나만 생성하는 것인지가 궁금합니다. 두 번째로 궁금한 것은 프록시는 싱글톤으로 관리가 될 텐데, 프록시가 아닌 target이 가르키는 실제 객체 MemberService는 매 request마다 객체가 새로 생성되어지는 것인지 혹은 최초로 서버가 로드할 때 한 번만 생성이 되는 것인지 궁금합니다. (제 생각에는 @Configuration으로 인하여 후자이지 않을까 생각합니다.)

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
우기바나 댓글 1 좋아요 0 조회수 78

한탄스럽네여

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

분명 다 똑같이 따라왔는데 JdbcTemplate - 이름 지정 파라미터3 에서 코드를 돌렸더니 작동을 안하네요... 이전강좌까지 다 잘됐는데 아..............................................혹시나해서 완성코드 받아서 복붙해도 작동 안하네요 Ai답변이 딴소리 해주겠지만 오류때문에 미칠 노릇이네요 풀이자꾸 꺾입니다...

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
berichmore 댓글 2 좋아요 0 조회수 199

평가지표 문의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 이 강의를 보면서 이 강의가 학습을 시키기 위한 정식 강의인지, 대충 이런 게 있다고 그냥 넘어가기는 그렇고 적당히 소개하고 말려고 한 강의인가요? 엄청난 속도로 위아래 올라갔다 내려가며 쫓기듯이 강의하시는데... 이것이 최선인건지,, 초심자를 위한 최적화된 강의가 과연 맞는 것인지.. 정신없어서 뭐가 뭔지 손을 못 대겠던데요. 교안으로 제공하면 출력해서 노트하며 복습이라도 할 텐데 이거 뭐 어쩌란 건지 도무지 모르겠습니다. 초급자에게 이 강의를 이해 시키려고 하신 강의 맞으신가요? 또는 이 강의를 이해하지 못하면 어떻게 되는 걸까요? 이 강의를 어떻게 해석해야 하는지 설명을 요청 드립니다. 빅분기가 결국 결과물을 시각화 하는 과정인데 강의에서는 말로만 하고 시각화된 자료도 제공이 되야 효율적이지 않을까 합니다. 따라하는 것도 따라하는 것이지만 머리에 한계가 있잖아요. 강사는 아는 내용을 막힘없이 설명하는 것이고, 초심자는 말하는 족족 그대로 머리에 익혀지지 않잖아요.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
강민균 댓글 2 좋아요 0 조회수 133

value_counts와 count 차이

미해결

공공데이터로 파이썬 데이터 분석 시작하기

똑같은 빈도수를 구하는 문제에서도 어떨 때는 value_counts()를 사용하고 어떨 때는 그냥 count()를 사용하시는데 차이가 궁금해요

  • python
  • pandas
  • numpy
댓글 2 좋아요 0 조회수 456

맛집 검색 네이버 api 403에러 나는데 현재 막혔나요?

해결됨

남박사의 파이썬으로 봇 만들기 with ChatGPT

https://map.naver.com/p/api/smart-around/places?searchCoord=127.119009%3B37.296806&boundary=127.11741034949176%3B37.289602227353484%3B127.12082211935848%3B37.303838401625484&code=01&limit=20&sortType=RECOMMEND&timeCode=EVENING 접속을 하니 403 Forbidden nginx 납니다.

  • python
  • 웹-크롤링
  • 챗봇
  • 객체지향
  • openai-api
Victor Choi 댓글 3 좋아요 0 조회수 867

평가지표(이진/다중 분류, 회귀) 3분지점에 대해 보충 설명을 요청합니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 평가지표(이진/다중 분류, 회귀) 3분지점의 설명에 대해 보충 설명을 요청합니다. train데이터는 학습을 하고 test데이터는 예측을 한다고 했으나 train데이터를 분리하여 하나는 학습 다른 하나는 검증이라고 하여 이걸(검증) 예측이라고 설명했어요. 그럼 test의 예측과 train 검증에서의 ‘예측’의 차이는 뭔지 이 둘은 같은건지? train데이터의 레이블로 데이터를 검증한다고 했는데 레이블은 실제값이고 검증하는 데이터는 예측값(pred)라고 하여 이 둘을 비교한다고 했습니다. 검증하는 데이터가 예측값? 여기서도 test데이터(예측값)와 어떤 관계인지 이 개념을 이해 못하겠습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
강민균 댓글 2 좋아요 0 조회수 111

모델학습에서 문제가발생합니다. 도와주세요

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

에포크 5에서 오류가 발생합니다. AttributeError Traceback (most recent call last) <ipython-input-19-00485008cd01> in <cell line: 0>() 13 #config.save_freq = eval;config.map_freq = 5 14 # 1 epoch시마다 P100에서 약 3분30초 걸림. 적절한 epochs 수 설정 필요. ---> 15 model.fit( 16 get_dataset(True, config), 17 epochs=15, 5 frames /usr/local/lib/python3.11/dist-packages/numpy/__init__.py in __getattr__(attr) 322 def _sanity_check(): 323 """ --> 324 Quick sanity checks for common bugs caused by environment. 325 There are some cases e.g. with wrong BLAS ABI that cause wrong 326 results under specific runtime conditions that are not necessarily AttributeError: module 'numpy' has no attribute 'float'. `np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecation s

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
최용석 댓글 2 좋아요 0 조회수 142

안녕하세요, 요청은 채널스에서 먼저 받고, http 요청은 장고를 통해서 처리한다고 하셨는데요.

미해결

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

안녕하세요, 요청은 채널스에서 먼저 받고, http 요청은 장고를 통해서 처리한다고 하셨는데요. 그 의미를 정확하게 알고 싶습니다. 새해에도 건강하시고, "RAG 밑바닥부터 웹 채팅까지" 도 미리 감사드립니다.

  • python
  • django
  • django-channels
sunnnwo 댓글 2 좋아요 0 조회수 107

2- 6 보너스 요세푸스 문제

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1. 현재 학습 진도 링크드 리스트를 학습하고 있습니다 2. 어려움을 겪는 부분 보너스 문제인 요세푸스 문제를 '링크드 리스트'를 활용하여 푸는데 어려움을 겪고 있습니다 ㅠ 3. 시도해보신 내용 링크드 리스트의 보너스 문제는 링크드 리스트를 학습하는데 도움이 될만한 문제라고 생각하여 풀이하고 있는데 어려움을 겪고 있습니다. class Node: def __init__(self, data): self.data = data self.next = None class CircularLinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if not self.head: self.head = new_node self.head.next = self.head else: cur = self.head while cur.next != self.head: cur = cur.next cur.next = new_node new_node.next = self.head def delete(self, prev, cur): if cur == self.head: if cur.next == self.head: # 마지막 노드일 경우 self.head = None else: self.head = cur.next prev.next = cur.next def print_all(self): if not self.head: return [] result = [] cur = self.head while True: result.append(cur.data) cur = cur.next if cur == self.head: break return result def josephus_problem(n, k): circle = CircularLinkedList() for i in range(1, n + 1): circle.append(i) result = [] cur = circle.head prev = None while circle.head: for _ in range(k - 1): prev = cur cur = cur.next result.append(cur.data) circle.delete(prev, cur) cur = prev.next if prev else None return result # 입력 처리 n, k = map(int, input().split()) result = josephus_problem(n, k) print("<" + ", ".join(map(str, result)) + ">") 위와 같이 링크드 리스트의 개념을 활용하여 문제를 풀다가 어려워서 chatGPT의 도움을 받아서 변형하여 풀어봤는데도 지속적으로 런타임에러가 나는 상황입니다. 이 문제를 링크드리스트로 풀 수 없는 문제인지 어떤 부분이 잘못된 것인건지 잘모르겠습니다. 또한 만약 풀기 어려운 문제라면, 이정도 수준의 링크드 리스트를 활용하는 문제는 나오지 않는 것인지 이정도 수준으로 연습하면 좋을 지도 궁금합니다! 감사합니다 🙂

  • python
  • 코딩-테스트
  • 알고리즘
수빈 오 댓글 1 좋아요 0 조회수 170

html 소스코드 질문

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

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

  • spring
  • mvc
김현우 댓글 1 좋아요 0 조회수 185

주피터노트북 코드로 한글파일 열수 없다고 나오는데.....

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

주피터노트북으로 코딩시. hwp.open("파일명.hwp")를 실행해도 화일이 없다고 열리지 안네요.........분명 해당경로에 그 파일이 존재하는데도 불구하구요... 강의 듣다가 느낀점. 코딩프로그램 사용법이 더 어려워요. 파이참으로 했다가 주피터로 하기도 하고.....

  • python
  • 한컴오피스
조현우 댓글 2 좋아요 1 조회수 339

JPA 프록시 객체 AccessType.FIELD에서 getId 시 초기화?

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하십니까 선생님! 질문 제목을 보고 얘는 왜 이 질문을 여기에 올렸을까라고 의아해하실 수도 있는데, 사실 제가 영한님 스프링 관련 강의는 다 사서 열심히 보고 있는데(정말 도움 많이 받고 있습니다. 항상 정말 잘 듣고 있습니다!!) JPA는 영한님이 쓰신 JPA 책을 사서 보고 있습니다! 그런데 프록시 객체 파트를 읽어보던 도중 이해가 되지 않는 부분이 있어 질문을 쓰고 싶은데 JPA 쪽에 질문으로 쓰려고 해도 강의를 산 사람만 작성할 수 있어 부득이하게 여기에서 질문하게 되었습니다 죄송합니다 ㅜㅜㅜ 다름이 아니라 지금 JPA의 프록시 객체 파트를 공부하고 있습니다. 그런데 294P 의 8.1.2 프록시와 식별자 부분에서 엔티티를 em.getReference, 즉 프록시로 조회할 때 엔티티 접근 방식을 AccessType.PROPERTY 로 설정한 경우 getId를 호출해도 프록시를 초기화하지 않는다고 하셨습니다. 그래서 직접 한번 코드를 작성해보았습니다. 우선 AccessType.PROPERTY 방식부터 적용해보았습니다. PROPERTY와 FIELD 두 방식 모두 실험 전 create 옵션으로 Parent 객체 하나를 만들어두고 후에 none으로 바꾸어 진행했습니다. Parent 객체 생성 코드 Parent parent = new Parent(); parent.setId(1L); parent.setName("parent1"); em.persist(parent); Parent.java @Entity @Setter @Getter @Access(AccessType.PROPERTY) public class Parent { private Long id; private String name; @Id public Long getId() { return id; } } JpaMain.java public static void main(String[] args) { EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Parent foundParent = em.getReference(Parent.class, 1L); System.out.println(foundParent.getClass()); System.out.println(foundParent.getId()); System.out.println(foundParent.getName()); tx.commit(); em.close(); emf.close(); } 해당 코드를 실행시켰을 때 이렇게 나온걸 보니 확실히 getId 후에 getName 조회시 프록시 객체를 초기화(select 구문 실행)을 했다는 것을 알 수 있었습니다. 그런데 AccessType.FIELD로 조회하면 getId 를 할때에도 프록시 객체를 초기화한다고 하여 아래와 같이 Parent.java의 코드를 다시 작성하여 JpaMain.java를 실행해보았습니다. Parent.java @Entity @Setter @Getter @Access(AccessType.FIELD) public class Parent { @Id private Long id; private String name; } 제 예상으로는 getId 실행시 프록시 객체를 초기화 한다고 하셨으니 실제 출력에는 Parent의 getId()가 실행되기 전에 select 문이 실행되어야 할 것이라고 예상하였습니다. 하지만 위와 같이 getId()에는 프록시 객체를 초기화하지 않는 것처럼 보여지는 출력이 나왔습니다. 책에서는 AccessType.FIELD 사용시 getId()를 호출하면 JPA는 getId()가 id만 조회하는 메소드인지 다른 필드까지 활용해서 어떤 일을 하는 메소드인지 알지 못하므로 프록시 객체를 초기화한다 고 나와있는데 왜 이런 결과가 나온 것일까요? 제가 잘못 이해하고 있는 것이 있을까요?

  • java
  • spring
  • mvc
  • spring-boot
  • jpa
도등어 댓글 2 좋아요 0 조회수 174

인기 태그

인프런 TOP Writers

주간 인기글