inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Lightsail에서 배포시 Error: Cannot find module './KakaoStrategy'에 대한 오류 질문입니다.

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

안녕하세요 강사님, 현재 Lightsail에서 배포를 진행하며 $ sudo NODE_ENV=production PORT=80 pm2 start server.js -i 0 명령어 작성후 $ sudo pm2 monit으로 확인해 보니 아래와 같은 오류가 발생합니다. KakaoStrategy 모듈을 못찾는다는데 passport-kakao 1.0.0 버전으로 npm i를 했었습니다. 어떤게 문제인걸까요..? 로컬에서는 문제없이 잘 돌아갔습니다. package.json 입니다. { ... "dependencies": { "@aws-sdk/client-s3": "^3.377.0", "bcrypt": "^5.1.0", "connect-redis": "^4.0.4", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "cross-env": "^7.0.3", "csurf": "^1.11.0", "dotenv": "^16.3.1", "express": "^4.18.2", "express-session": "^1.17.3", "helmet": "^7.0.0", "hpp": "^0.2.3", "morgan": "^1.10.0", "multer": "^1.4.5-lts.1", "multer-s3": "^3.0.1", "mysql2": "^3.4.2", "nunjucks": "^3.2.4", "passport": "^0.6.0", "passport-kakao": "1.0.0", "passport-local": "^1.0.0", "pm2": "^5.3.0", "redis": "^3.0.2", "sanitize-html": "^2.11.0", "sequelize": "^6.32.1", "sequelize-cli": "^6.6.1", "winston": "^3.10.0" }, "devDependencies": { "nodemon": "^2.0.22" } } passport > kakaoStrategy.js 부분입니다. const passport = require('passport'); const KakaoStrategy = require('passport-kakao').Strategy; const User = require('../models/user'); module.exports = () => { passport.use(new KakaoStrategy({ clientID: process.env.KAKAO_ID, callbackURL: '/auth/kakao/callback', }, async (accessToken, refreshToken, profile, done) => { // accessToken, refreshToken은 카카오 api를 호출하는데 사용되나, 여기선 사용하지 않음 console.log('kakao profile', profile); try { const exUser = await User.findOne({ where: { snsId: profile.id, provider: 'kakao' }, }); if (exUser) { //login done(null, exUser); } else { //join const newUser = await User.create({ email: profile._json?.kakao_account?.email, // 이 구조가 자주 바뀌므로, profile을 console.log를 통해 계속 확인하자 nick: profile.displayName, snsId: profile.id, provider: 'kakao', }); done(null, newUser); } } catch (error) { console.error(error); done(error); } })); };

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
rlawjddn4706 댓글 2 좋아요 0 조회수 453

지금 언리얼로 포트폴리오를 만드는 중인데 궁금한 것이 있습니다.

해결됨

게임 프로그래머 취업 전략 가이드

지난주부터 언리얼5로 VR 퍼즐게임 포트폴리오를 만드는 중입니다. 발사한 레이저를 거울 배치를 통해 특정지점으로 유도하기 전선 이어서 문 스위치 켜기 망치로 플레이트를 뒤집어서 특정 모양 만들기 등의 기믹을 만들려고 하고 있습니다. 그런데 한국 게임회사서는 VR게임을 시도를 거의 하지 않고 있고 신규 프로젝트 계획도 적은 걸로 아는데 취업을 위해 이렇게 만들어도 될지 의문이 듭니다. 저도 MMO, FPS를 좋아하고 오래 했기 때문에 이러한 팀에 들어가고 싶긴 합니다. 이런 팀에 지원하는데 VR게임 포트폴리오를 내미는 건 리스크가 있는 선택일까요? 아니면 인터렉션 구현을 잘했다면 좋은 평가를 받을 수 있을까요? 블루프린트 에셋을 C++로 옮겨서 만들어 쓴 부분도 좋은 평가를 받을 수 있는 부분일까요? 지금이라도 PC FPS나 TPS를 만들어야 하나 고민입니다.

  • 포트폴리오
이상윤 댓글 1 좋아요 0 조회수 853

ELSE NULL 관련 질문입니다.

미해결

[백문이불여일타] 데이터 분석을 위한 중급 SQL

안녕하세요, ELSE NULL 관련 질문입니다. <CASE를 활용한 테이블 피봇(난이도 상)> 강의 내 문제에서 ELSE NULL 을 써주지 않아도 결과는 똑같은 것 같은데 END 전에 ELSE NULL을 써줘야하는 이유가 특별히 있을까요?

  • sql
gmqjsy00 댓글 1 좋아요 0 조회수 493

TypeScript Utility 부분 질문드립니다

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

Utility 부분 강의에서 type의 Partial, Required 등을 이용하여 모든 프라퍼티를 옵션으로 바꾸거나 필수로 바꾸는 방법을 가르쳐주셨는데, 특정 하나만 옵션으로 하거나, 특정 하나만 필수인자로 바꾸는 방법은 없을까요? interface IProfile { name: string; age: number; school: string; hobby?: string; friend:? string; } 으로 정의했다고 하면 여기서 school만 옵션으로 바꾸고 싶다면, 방법이 없을까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
장정욱 댓글 1 좋아요 0 조회수 338

고양이 이미지 깨져요

미해결

만들면서 배우는 리액트 : 기초

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 고양이 이미지 깨지는데, 어떻게 하면 될까요?

  • javascript
  • react
s9704075 댓글 2 좋아요 1 조회수 381

크로링 패턴에서 필요한 부분을 지정하는 방법

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

- 섹션 3 크롤링 패턴 관련 질문이 있습니다. 변수.find() 을 이용하여 원하는 부분을 찾는다고 했는데, 이때 find의 괄호 안에는 태그의 이름만 들어가는 게 맞나요?

  • python
  • 웹-크롤링
김상희 댓글 1 좋아요 0 조회수 349

보충 에셋 다운 관련

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요 보충 에셋관련 리소스들은 강의를 그전까지 다 들어야 다운이 가능한건가요? 미리 다운받으려 했는데 구름모양으로 된 다운버튼이 안보입니다..

  • C#
  • unity
임지환 댓글 1 좋아요 0 조회수 512

궁금해서 여쭤봅니다.

미해결

강사님 Condition 의 matches 메서드는 메인메서드가 실행되기 전에 실행될거 같은데 즉 스프링이 빈을 구성하기 전에 실행되는 것 같은데 어떻게 ConditionContext 와 AnnotationTypeMetadata 를 주입 받을 수 있는지 궁금합니다. 더군다나 ConditionContext 이나 AnnotationTypeMetadata 은 어디서도 빈으로 등록하지 않은거 같은데 어떻게 동작하는지 궁금합니다.

내일은 한걸음 더 나아갈거야 댓글 1 좋아요 0 조회수 213

버전 관련 질문

미해결

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

안녕하세요. 파이썬 및 판다스의 강의 촬영 날짜 기준 버전과 현재 버전이 다른데 문제 없이 강의를 따라갈 수 있을까요??

  • python
  • 웹-크롤링
윤서준 댓글 1 좋아요 0 조회수 400

CSR 버그 질문입니다.

미해결

스택오버플로에도 올렸는데 답변이 안달리네요 ㅠㅠ https://stackoverflow.com/q/76692263/21893669 힌트라도 주실 분 계신가요?

jjss4824 댓글 1 좋아요 0 조회수 169

union 해커랭크 문제풀이

미해결

[백문이불여일타] 데이터 분석을 위한 중급 SQL

안녕하세요 항상 좋은 강의 감사합니다 symmetric pairs 문제에서 문제 초반 부에 xy 값이 같은 경우와 다른 경우로 나누어서 푸셨는데 저 같은 경우는 select f1.x,f1.y from functions as f1 inner join functions as f2 on f1.x = f2. y and f1.y = f2.x where f1.x <= f1.y and f1.x < f2.x order by x 이 부분만 적고 xy가 같은 경우를 따로 만들어서 union해야 하는 지 생각을 하지 못했는데 강사님께서는 어떤 이유로(어떤 요소를 보고) xy값이 같은 경우와 다른 경우로 나누어서 풀어야 겠다고 생각하셨는지 알고 싶습니다. 감사합니다

  • sql
김경식 댓글 1 좋아요 0 조회수 326

이렇게 해도 괜찮은건가요?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

def DFS(L,a,b,c): global res if L==n: if a==b or a==c or b==c: return v1=max(a,b,c) v2=min(a,b,c) res = min(res, v1-v2) return DFS(L+1,a+p[L],b,c) DFS(L+1,a,b+p[L],c) DFS(L+1,a,b,c+p[L]) n=int(input()) p=[ int(input()) for _ in range(n) ] res=2147000000 DFS(0,0,0,0) print(res) 강사님과 동일한 접근 방법으로 상태트리를 그려보고 코드를 작성했는데, 이 방법도 강사님 코드와 시간 효율면에서 동일한 성능을 갖나요?

  • python
  • 코딩-테스트
dldmswo1217 댓글 1 좋아요 0 조회수 323

beancreationException이 발생합니다.

미해결

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

안녕하세요. 강의 수강시간 8분쯤에 모든 엔티티를 작성하고 실행시키는 과정에서 오류가 발생합니다. org.springframework.beans.factory.BeanCreationException: 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.DuplicateMappingException: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed! 이러한 오류가 뜨는데, Member라는 엔티티 네임이 중복이 된다는 뜻 같아서 구글링을 해봐도 중복된 이름을 피해라는 내용밖에 없네요. 저는 jpashop.domain.Member만을 만들고, 그것만 생성되기를 원합니다. 그리하여, jpashop.domain.Member의 엔티티 네임을 Member2로 바꾸고 실행시켜보니 돌아가는데 위와 같이 ID와 USERNAME을 가진 MEMBER가 하나 덜렁 생성됩니다. 제 프로젝트 안에는 저런 MEMBER라는 엔티티를 만든적은 없는 것 같은데.. 제가 원하는건 강사님께서 만드신 대로 MEMBER_ID,CITY,STREET,ZIPCODE,NAME을 가지는 MEMBER엔티티를 원합니다. 참고하시기 편하시도록 MEMBER 클래스에서 ENTITY(name = "member2")를 생략하였을 때 나타나는 오류 원문을 첨부하겠습니다. 또한, Member클래스의 코드도 추가하겠습니다. package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); } /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always - Dcom.sun.management .jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=58106:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/yunjinno/Desktop/인프런/스프링/jpashop/out/production/classes:/Users/yunjinno/Desktop/인프런/스프링/jpashop/out/production/resources:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.28/a2ff5da8bcd8b1b26f36b806ced63213362c6dcc/lombok-1.18.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/2.7.13/98aba6063ce411ae5e7ce263ce7c7012427559a6/spring-boot-starter-data-jpa-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-thymeleaf/2.7.13/b36514a2ba8b03510ea3163c7c1611d60a3adaeb/spring-boot-starter-thymeleaf-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/2.7.13/707bd743fa544ca06a78a657465c1ca0f5084ea4/spring-boot-starter-web-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-devtools/2.7.13/9d1e8a775525c42106d4eb6eda7f6237ad0f2c0d/spring-boot-devtools-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/p6spy-spring-boot-starter/1.5.6/495579c7fb01b005f19ec4d5188245c66de0937b/p6spy-spring-boot-starter-1.5.6.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/2.7.13/bf09e5f88e4bed249795bf28b42d75d3df0391a1/spring-boot-starter-aop-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/2.7.13/1b5dce56ea6f5657c0aada8d342beedfbdc6a65c/spring-boot-starter-jdbc-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/jakarta.transaction/jakarta.transaction-api/1.3.3/c4179d48720a1e87202115fbed6089bdc4195405/jakarta.transaction-api-1.3.3.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/jakarta.persistence/jakarta.persistence-api/2.2.3/8f6ea5daedc614f07a3654a455660145286f024e/jakarta.persistence-api-2.2.3.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.6.15.Final/ab14b7cef1fdff654ca81923048a6034d6c7cfa7/hibernate-core-5.6.15.Final.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/2.7.13/cbbd710b12238366d3b7a79ecb429125665047da/spring-data-jpa-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/5.3.28/11670ae516772497e443a836421417d43422b12/spring-aspects-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/2.7.13/5617ca04b06778877fb80d146dd2d0dd6adb23a8/spring-boot-starter-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.thymeleaf/thymeleaf-spring5/3.0.15.RELEASE/7170e1bcd1588d38c139f7048ebcc262676441c3/thymeleaf-spring5-3.0.15.RELEASE.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.thymeleaf.extras/thymeleaf-extras-java8time/3.0.4.RELEASE/36e7175ddce36c486fff4578b5af7bb32f54f5df/thymeleaf-extras-java8time-3.0.4.RELEASE.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-json/2.7.13/2fc4c73e9b8602e57d2ffc37545cc2822e948322/spring-boot-starter-json-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/2.7.13/43a53425042f52d01a6c1557598863880c0d0042/spring-boot-starter-tomcat-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.28/688bde13678e86028062f01dbcdf301308c449e7/spring-webmvc-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.3.28/e15c861a248f5ba41dd1ebc691e582bb5f3a2813/spring-web-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.7.13/1b6b9605b1b116e32c372f3b9e15abf7bb17038c/spring-boot-autoconfigure-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.7.13/d009fa51c7792c9e510da7e69329baf39591707d/spring-boot-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/datasource-decorator-spring-boot-autoconfigure/1.5.6/cac386fe9df77870133594f054ee32e5d08ab93d/datasource-decorator-spring-boot-autoconfigure-1.5.6.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/p6spy/p6spy/3.8.2/52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf/p6spy-3.8.2.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/5.3.28/aada0ea72a3efee5f02f264f90329f7eddedf321/spring-aop-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.9.7/158f5c255cd3e4408e795b79f7c3fbae9b53b7ca/aspectjweaver-1.9.7.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.zaxxer/HikariCP/4.0.3/107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f/HikariCP-4.0.3.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/5.3.28/9cff07e670a77c3943e77c7dc0120be0aa3d926e/spring-jdbc-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.1.2.Final/e59ffdbc6ad09eeb33507b39ffcf287679a498c8/hibernate-commons-annotations-5.1.2.Final.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.4.3.Final/c4bd7e12a745c0e7f6cf98c45cdcdf482fd827ea/jboss-logging-3.4.3.Final.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy/1.12.23/d470526e8c4566c04e9ae5d3ccb62d1a7aa58986/byte-buddy-1.12.23.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.4.2.Final/1e1c385990b258ff1a24c801e84aebbacf70eb39/jandex-2.4.2.Final.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.3.8/c90a335a07c60db986f29d35b0f8ac0a18f0f989/jaxb-runtime-2.3.8.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/5.3.28/edf8ebfd637e3e10ec7fed697eb69f2a5229748a/spring-context-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.3.28/127b548d81ea3b125b8c45a2b0ab14ffdac5a33a/spring-orm-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.7.13/a0df11c6e7463ab9cd32e127af78f3c65e6ba055/spring-data-commons-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/5.3.28/c992220cd3139fe97f86c6e7a99cc2498c00e929/spring-tx-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/5.3.28/4d232acbb7031963688cf28b1b34134937892c4f/spring-beans-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.3.28/5b7ec246fef72fdfbb0b4123956715ca89cc6ddf/spring-core-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.36/6c62681a2f655b49963a5983b8b0950a6120ae14/slf4j-api-1.7.36.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/2.7.13/8a5e9bd6fa8341193a977d408b9a44faaa684c8d/spring-boot-starter-logging-2.7.13.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/jakarta.annotation/jakarta.annotation-api/1.3.5/59eb84ee0d616332ff44aba065f3888cf002cd2d/jakarta.annotation-api-1.3.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.30/8fde7fe2586328ac3c68db92045e1c8759125000/snakeyaml-1.30.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.thymeleaf/thymeleaf/3.0.15.RELEASE/13e3296a03d8a597b734d832ed8656139bf9cdd8/thymeleaf-3.0.15.RELEASE.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.5/8ba3b868e81d7fc6ead686bd2353859b111d9eaf/jackson-datatype-jsr310-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-parameter-names/2.13.5/a401a99e7a45450fd3ef76e82ba39005fd1a8c22/jackson-module-parameter-names-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.5/1278f38160812811c56eb77f67213662ed1c7a2e/jackson-datatype-jdk8-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.13.5/aa95e46dbc32454f3983221d420e78ef19ddf844/jackson-databind-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.76/548160ca33e74e61178b5fbc666bf26ef56cbf7c/tomcat-embed-websocket-9.0.76.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.76/1672ec66d44c68829416c946ab034cb1a92a5629/tomcat-embed-core-9.0.76.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/9.0.76/74bf8925f713a52c2af19fff6df55d80ef87166c/tomcat-embed-el-9.0.76.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/5.3.28/d049216b1a73b939b36bbf5cc7ce734cace7b245/spring-expression-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/2.3.3/48e3b9cfc10752fba3521d6511f4165bea951801/jakarta.xml.bind-api-2.3.3.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.3.8/66e0297f1196f0d15a776e699de1b8e6ac5d44dd/txw2-2.3.8.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/3.0.12/cbbe1a62b0cc6c85972e99d52aaee350153dc530/istack-commons-runtime-3.0.12.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jcl/5.3.28/d67e8b213aa08a0f3d71e547fb4345372d819d36/spring-jcl-5.3.28.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.12/d4dee19148dccb177a0736eb2027bd195341da78/logback-classic-1.2.12.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-to-slf4j/2.17.2/17dd0fae2747d9a28c67bc9534108823d2376b46/log4j-to-slf4j-2.17.2.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.36/ed46d81cef9c412a88caef405b58f93a678ff2ca/jul-to-slf4j-1.7.36.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.attoparser/attoparser/2.0.5.RELEASE/a93ad36df9560de3a5312c1d14f69d938099fa64/attoparser-2.0.5.RELEASE.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.unbescape/unbescape/1.1.6.RELEASE/7b90360afb2b860e09e8347112800d12c12b2a13/unbescape-1.1.6.RELEASE.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.13.5/136f77ab424f302c9e27230b4482e8000e142edf/jackson-annotations-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.13.5/d07c97d3de9ea658caf1ff1809fd9de930a286a/jackson-core-2.13.5.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.12/1d8e51a698b138065d73baefb4f94531faa323cb/logback-core-1.2.12.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.17.2/f42d6afa111b4dec5d2aea0fe2197240749a4ea6/log4j-api-2.17.2.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.h2database/h2/2.1.214/d5c2005c9e3279201e12d4776c948578b16bf8b2/h2-2.1.214.jar:/Users/yunjinno/.gradle/caches/modules-2/files-2.1/com.sun.activation/jakarta.activation/1.2.2/74548703f9851017ce2f556066659438019e7eb5/jakarta.activation-1.2.2.jar jpabook.jpashop.JpashopApplication 17:03:18.903 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@157fa2ba . ____ _ /\\ / ___'_ __ ( _)_ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.13) 2023-07-28 17:03:19.049 INFO 18591 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Starting JpashopApplication using Java 11.0.19 on yunjinnoui-MacBookPro.local with PID 18591 (/Users/yunjinno/Desktop/인프런/스프링/jpashop/out/production/classes started by yunjinno in /Users/yunjinno/Desktop/인프런/스프링/jpashop) 2023-07-28 17:03:19.050 INFO 18591 --- [ restartedMain] jpabook.jpashop.JpashopApplication : No active profile set, falling back to 1 default profile: "default" 2023-07-28 17:03:19.070 INFO 18591 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2023-07-28 17:03:19.070 INFO 18591 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2023-07-28 17:03:19.281 INFO 18591 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2023-07-28 17:03:19.286 INFO 18591 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2 ms. Found 0 JPA repository interfaces. 2023-07-28 17:03:19.461 INFO 18591 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2023-07-28 17:03:19.464 INFO 18591 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2023-07-28 17:03:19.464 INFO 18591 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.76] 2023-07-28 17:03:19.492 INFO 18591 --- [ restartedMain] o.a.c.c.C.[Tomcat].[ localhost ].[/] : Initializing Spring embedded WebApplicationContext 2023-07-28 17:03:19.492 INFO 18591 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 422 ms 2023-07-28 17:03:19.529 INFO 18591 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2023-07-28 17:03:19.554 INFO 18591 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2023-07-28 17:03:19.565 INFO 18591 --- [ restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp:// localhost/~/jpashop ' 2023-07-28 17:03:19.618 INFO 18591 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2023-07-28 17:03:19.629 INFO 18591 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.15.Final 2023-07-28 17:03:19.668 INFO 18591 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations { 5.1.2.Final } 2023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@c878e83 2023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@c878e83 2023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@c878e83 2023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration numeric_boolean -> org.hibernate.type.NumericBooleanType@6e3b6001 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration true_false -> org.hibernate.type.TrueFalseType@f27480d 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration yes_no -> org.hibernate.type.YesNoType@175c31ac 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@770529b3 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@770529b3 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Byte -> org.hibernate.type.ByteType@770529b3 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character -> org.hibernate.type.CharacterType@7faae587 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char -> org.hibernate.type.CharacterType@7faae587 2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Character -> org.hibernate.type.CharacterType@7faae587 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@57541caf 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@57541caf 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Short -> org.hibernate.type.ShortType@57541caf 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration integer -> org.hibernate.type.IntegerType@4a46979e 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration int -> org.hibernate.type.IntegerType@4a46979e 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Integer -> org.hibernate.type.IntegerType@4a46979e 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@4a3b8bb5 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@4a3b8bb5 2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Long -> org.hibernate.type.LongType@4a3b8bb5 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@2c7cfb28 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@2c7cfb28 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Float -> org.hibernate.type.FloatType@2c7cfb28 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@66ffef22 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@66ffef22 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Double -> org.hibernate.type.DoubleType@66ffef22 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_decimal -> org.hibernate.type.BigDecimalType@5a2ac2b2 2023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigDecimal -> org.hibernate.type.BigDecimalType@5a2ac2b2 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_integer -> org.hibernate.type.BigIntegerType@20a4bbd1 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigInteger -> org.hibernate.type.BigIntegerType@20a4bbd1 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration string -> org.hibernate.type.StringType@9c1c782 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.String -> org.hibernate.type.StringType@9c1c782 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nstring -> org.hibernate.type.StringNVarcharType@72567a34 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ncharacter -> org.hibernate.type.CharacterNCharType@7862f30 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration url -> org.hibernate.type.UrlType@6eae28c2 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.net .URL -> org.hibernate.type.UrlType@6eae28c2 2023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Duration -> org.hibernate.type.DurationType@17f8c200 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Duration -> org.hibernate.type.DurationType@17f8c200 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Instant -> org.hibernate.type.InstantType@7a1a3561 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Instant -> org.hibernate.type.InstantType@7a1a3561 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDateTime -> org.hibernate.type.LocalDateTimeType@18a33f85 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDateTime -> org.hibernate.type.LocalDateTimeType@18a33f85 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDate -> org.hibernate.type.LocalDateType@17f8f873 2023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDate -> org.hibernate.type.LocalDateType@17f8f873 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalTime -> org.hibernate.type.LocalTimeType@2804eca5 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalTime -> org.hibernate.type.LocalTimeType@2804eca5 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@299d4e7e 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@299d4e7e 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetTime -> org.hibernate.type.OffsetTimeType@31bb0e90 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetTime -> org.hibernate.type.OffsetTimeType@31bb0e90 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@471064be 2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@471064be 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration date -> org.hibernate.type.DateType@6a9aa16a 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Date -> org.hibernate.type.DateType@6a9aa16a 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration time -> org.hibernate.type.TimeType@70df6c4d 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Time -> org.hibernate.type.TimeType@70df6c4d 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timestamp -> org.hibernate.type.TimestampType@61667254 2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Timestamp -> org.hibernate.type.TimestampType@61667254 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Date -> org.hibernate.type.TimestampType@61667254 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@162fea81 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar -> org.hibernate.type.CalendarType@175f2295 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Calendar -> org.hibernate.type.CalendarType@175f2295 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.GregorianCalendar -> org.hibernate.type.CalendarType@175f2295 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_date -> org.hibernate.type.CalendarDateType@6a2b0c4f 2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_time -> org.hibernate.type.CalendarTimeType@126daad9 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration locale -> org.hibernate.type.LocaleType@1f22f94e 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Locale -> org.hibernate.type.LocaleType@1f22f94e 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration currency -> org.hibernate.type.CurrencyType@773f1005 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Currency -> org.hibernate.type.CurrencyType@773f1005 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timezone -> org.hibernate.type.TimeZoneType@70a9cba3 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.TimeZone -> org.hibernate.type.TimeZoneType@70a9cba3 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration class -> org.hibernate.type.ClassType@d9bd49c 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Class -> org.hibernate.type.ClassType@d9bd49c 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-binary -> org.hibernate.type.UUIDBinaryType@191cf1b0 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.UUID -> org.hibernate.type.UUIDBinaryType@191cf1b0 2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-char -> org.hibernate.type.UUIDCharType@30e9d0f1 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary -> org.hibernate.type.BinaryType@35520e4e 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte[] -> org.hibernate.type.BinaryType@35520e4e 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [B -> org.hibernate.type.BinaryType@35520e4e 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-binary -> org.hibernate.type.WrapperBinaryType@2d0f0995 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Byte[] -> org.hibernate.type.WrapperBinaryType@2d0f0995 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Byte; -> org.hibernate.type.WrapperBinaryType@2d0f0995 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration row_version -> org.hibernate.type.RowVersionType@108f2fc7 2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration image -> org.hibernate.type.ImageType@10fe0f58 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration characters -> org.hibernate.type.CharArrayType@3aeb1b38 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char[] -> org.hibernate.type.CharArrayType@3aeb1b38 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [C -> org.hibernate.type.CharArrayType@3aeb1b38 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-characters -> org.hibernate.type.CharacterArrayType@1658b645 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Character; -> org.hibernate.type.CharacterArrayType@1658b645 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Character[] -> org.hibernate.type.CharacterArrayType@1658b645 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration text -> org.hibernate.type.TextType@1d60ee1e 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ntext -> org.hibernate.type.NTextType@1bbfb70 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration blob -> org.hibernate.type.BlobType@f814070 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Blob -> org.hibernate.type.BlobType@f814070 2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob -> org.hibernate.type.MaterializedBlobType@30e8021 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration clob -> org.hibernate.type.ClobType@38fa7fa8 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Clob -> org.hibernate.type.ClobType@38fa7fa8 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nclob -> org.hibernate.type.NClobType@588332a1 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.NClob -> org.hibernate.type.NClobType@588332a1 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob -> org.hibernate.type.MaterializedClobType@1b656a57 2023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob -> org.hibernate.type.MaterializedNClobType@383ed658 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration serializable -> org.hibernate.type.SerializableType@3d5ab4d5 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration object -> org.hibernate.type.ObjectType@4428a482 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Object -> org.hibernate.type.ObjectType@4428a482 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_date -> org.hibernate.type.AdaptedImmutableType@4cc5e427 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_time -> org.hibernate.type.AdaptedImmutableType@7c46f929 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_timestamp -> org.hibernate.type.AdaptedImmutableType@10aeff2d 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_dbtimestamp -> org.hibernate.type.AdaptedImmutableType@1f449d15 2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar -> org.hibernate.type.AdaptedImmutableType@7c43b606 2023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_date -> org.hibernate.type.AdaptedImmutableType@37078716 2023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_binary -> org.hibernate.type.AdaptedImmutableType@50b7514c 2023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_serializable -> org.hibernate.type.AdaptedImmutableType@6ba0c27a 2023-07-28 17:03:19.701 INFO 18591 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2023-07-28 17:03:19.711 DEBUG 18591 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@3ce3dee4] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@7982866c] 2023-07-28 17:03:19.745 ERROR 18591 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed! 2023-07-28 17:03:19.746 WARN 18591 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: 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.DuplicateMappingException: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed! 2023-07-28 17:03:19.746 INFO 18591 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2023-07-28 17:03:19.753 INFO 18591 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2023-07-28 17:03:19.755 INFO 18591 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2023-07-28 17:03:19.760 INFO 18591 --- [ restartedMain] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2023-07-28 17:03:19.770 ERROR 18591 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: 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.DuplicateMappingException: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed! at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1804 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:620 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:542 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:335 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:333 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:208 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1156 ) ~[spring-context-5.3.28.jar:5.3.28] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:910 ) ~[spring-context-5.3.28.jar:5.3.28] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:583 ) ~[spring-context-5.3.28.jar:5.3.28] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh( ServletWebServerApplicationContext.java:147 ) ~[spring-boot-2.7.13.jar:2.7.13] at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:731 ) ~[spring-boot-2.7.13.jar:2.7.13] at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:408 ) ~[spring-boot-2.7.13.jar:2.7.13] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:307 ) ~[spring-boot-2.7.13.jar:2.7.13] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1303 ) ~[spring-boot-2.7.13.jar:2.7.13] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1292 ) ~[spring-boot-2.7.13.jar:2.7.13] at jpabook.jpashop.JpashopApplication.main( JpashopApplication.java:10 ) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run ( RestartLauncher.java:50 ) ~[spring-boot-devtools-2.7.13.jar:2.7.13] Caused by: org.hibernate.DuplicateMappingException: The [jpabook.jpashop.Member] and [jpabook.jpashop.domain.Member] entities share the same JPA entity name: [Member] which is not allowed! at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.addEntityBinding( InFlightMetadataCollectorImpl.java:311 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.cfg.AnnotationBinder.bindClass( AnnotationBinder.java:813 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies( AnnotationMetadataSourceProcessorImpl.java:225 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies( MetadataBuildingProcess.java:239 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete( MetadataBuildingProcess.java:282 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata( EntityManagerFactoryBuilderImpl.java:1460 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1494 ) ~[ hibernate-core-5.6.15.Final .jar: 5.6.15.Final ] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:58 ) ~[spring-orm-5.3.28.jar:5.3.28] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:365 ) ~[spring-orm-5.3.28.jar:5.3.28] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ~[spring-orm-5.3.28.jar:5.3.28] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) ~[spring-orm-5.3.28.jar:5.3.28] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:341 ) ~[spring-orm-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1863 ) ~[spring-beans-5.3.28.jar:5.3.28] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1800 ) ~[spring-beans-5.3.28.jar:5.3.28] ... 21 common frames omitted Process finished with exit code 0

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
On_Nij 댓글 2 좋아요 0 조회수 1176

질문이 있습니다.

해결됨

Atlassian Jira 사용법 기초

혹시 각 강의별 상세 PPT 문서를 받을 수 있을까요?

  • 프로젝트-관리
  • 업무-생산성
  • 협업-툴
  • jira
tax 댓글 2 좋아요 0 조회수 492

id..???

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

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

  • javascript
  • react
  • node.js
kyle3444 댓글 2 좋아요 0 조회수 403

vscode로 플러터 디버깅을 할 때 오류가 나면

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

vscode로 플러터 디버깅을 할 때 오류가 나면 오류가 발생한 지점을 표시하면서 디버깅이 일시중지되고 거기서 f5(계속)을 계속 눌러서 문제되는 지점을 다 확인해야만 디버깅이 재개되는데요, 이게 너무 불편합니다.. 강의에서보면 안드로이드스튜디오는 그냥 오류메시지만 알려주고 디버깅이 일시정지되거나 그러지 않아서 오히려 디버깅이 편해보이는데, 혹시 선생님께서는 vscode에서도 안드로이드스튜디오식으로 디버깅을 할 수 있게 하는 방법을 아시나요..? 나름대로 찾아보려고 하는데 검색어부터 애매해서 쉽지않네요 ㅠㅠ 그냥 안드로이드스튜디오로 갈아타야할까요..

  • flutter
  • 하이브리드-앱
댓글 1 좋아요 0 조회수 763

강의자료

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

강의자료 다운로드는 어디서 받나요??

  • java
  • spring
  • 동시성
최지환 댓글 1 좋아요 0 조회수 597

OnClickEvent

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요 UI_Popup을 상속받는 Popup 스크립트에서, [AntCompany] Init() {GetButton( .. ).gameObject.BindEvent(OnClickEvent1);} void OnClickEvent1() { } === [Unity Part.3] Init() {GetButton( .. ).gameObject.BindEvent(OnClickEvent1);} void OnClickEvent1(PointerEventData data) { } === Part.3에서는 PointerEventData를 왜 인자로 넘겨주는지 궁금해요!

  • C#
  • unity
Rev 댓글 1 좋아요 0 조회수 289

Cannot resolve symbol 'EntityModel' (+ RepresentationModel)

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

두 가지 질문이 있습니다. EntityModel을 찾을 수 없다고 나오는데 도움을 받을 수 있을까요?? 공식문서에는 RepresentationModel를 상속하여 기능을 추가하라고 가이드하고 있는데, EntityModel와 다른가요? 1. cannot resolve symbol 'EntityModel' 제 코드와 설정은 아래와 같습니다. build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.0.0' id 'io.spring.dependency-management' version '1.1.0' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' repositories { mavenCentral() } dependencies { // web 라이브러리 implementation 'org.springframework.boot:spring-boot-starter-web' // JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // JDBC implementation 'org.springframework.boot:spring-boot-starter-jdbc' // 타임리프 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' // TEST testImplementation 'org.springframework.boot:spring-boot-starter-test' developmentOnly 'org.springframework.boot:spring-boot-devtools' // VALIDATION implementation 'org.springframework.boot:spring-boot-starter-validation' // 롬복 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' } tasks.named('test') { useJUnitPlatform() } pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>dateanu</artifactId> <version>0.0.1-SNAPSHOT</version> <name>dateanu</name> <description>dateanu</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-hateoas</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.4.4</version> </plugin> </plugins> </build> </project> application.properties # DATABASE spring.h2.console.enabled=true spring.h2.console.path=/h2-console # spring.datasource.url=jdbc:h2:~/local spring.datasource.url=jdbc:h2:~/local;AUTO_SERVER=true spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password= # PORT server.port=9090 # JPA spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect # USE THIS spring.jpa.hibernate.ddl-auto=create # spring.jpa.hibernate.ddl-auto=update // OR THIS # AVOID THIS # spring.jpa.hibernate.ddl-auto=create # spring.jpa.hibernate.ddl-auto=create-drop spring.messages.basename=messages spring.messages.fallback-to-system-locale=false Controller package com.example.dateanu.rest_api; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import java.net.URI; import java.util.List; @RestController @RequiredArgsConstructor public class UserController { private final UserDaoService service; // 싱글톤 객체를 생성자주입을 하기 위해 꼭 final이 붙어야한다. @GetMapping("/users") public List<User> retrieveAllUsers() { return service.findAll(); } // GET /users/1 @GetMapping("/users/{id}") public User retrieveUser(@PathVariable int id) { User user = service.findOne(id); if(user == null){ throw new UserNotFoundException(String.format("ID[%s] not found",id)); } // HATEOAS return user; } @PostMapping("/users") public ResponseEntity<User> createUser(@Valid @RequestBody User user){ User savedUser = service.save(user); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); return ResponseEntity.created(location).build(); } @DeleteMapping("/users/{id}") public ResponseEntity<User> deleteUser(@PathVariable int id){ User user = service.deleteById(id); if(user == null){ throw new UserNotFoundException(String.format("ID[%s] not found")); } return new ResponseEntity<>(user, HttpStatus.OK); } @PutMapping("/users/{id}") public ResponseEntity<User> replaceUser(@PathVariable int id,@RequestBody User user){ User replacedUser = service.replace(id,user); return new ResponseEntity<>(replacedUser, HttpStatus.OK); } @PatchMapping("/users/{id}") public ResponseEntity<User> updateUser(@PathVariable int id,@RequestBody User user){ User updatedUser = service.update(id,user); return new ResponseEntity<>(updatedUser, HttpStatus.OK); } } 어떤 것 때문인지 몇 시간을 구글링하고 디버깅해봐도 해결되지가 않네요 ㅠㅠ ** 2.4.4 version에 hateoas 의존성 추가했으며, Gradle, Maven 모두 refresh 하였습니다. 2. 공식문서에서는 RepresentationModel 을 상속받아 쓰게끔 가이드가 되어있는 것을 확인했습니다. https://spring.io/guides/gs/rest-hateoas/ EntityModel을 사용하는 것과 다른 것인지, 어떤 것이 best practice 인지 알려주실 수 있나요?? ** 이 또한 cannot resolve symbol 'representationmodel' 에러가 발생하네요 ㅠㅠ 감사합니다 :-)

  • rest-api
  • spring-boot
1026baby 댓글 3 좋아요 0 조회수 779

개인 토이 프로젝트 진행 중인데 일대일 매핑 관련하여 질문이 있습니다.

미해결

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

[질문 내용] 보안매체와 토큰이라는 엔티티 클래스가 있습니다. 보안매체 하나에 서버에서 부여받은 토큰을 따로 db에 저장하여 관리하려고 하는데요. 하나의 보안매체에서는 유효한 토큰 하나만 부여 가능하므로 OneToOne 관계로 관계를 맺었습니다. 그런데 이 토큰은 일정기간이 지나면 만료가 되고 결국 만료기간이 지나면 새로운 토큰을 생성해야합니다. 이렇게 된다면 하나의 보안매체에 여러개의 토큰이 매칭 될 수 있는데.. 이건 oneToMany 관계이고, 비지니스에서 쿼리 수행을 통해 만료 안된 토큰을 추출 해야하는 상황인걸까요? 조금 혼선이 옵니다 ㅠㅠ 도움 주시면 감사하겠습니다.

  • java
  • jpa
인생은회전목마 댓글 1 좋아요 0 조회수 544

인기 태그

인프런 TOP Writers

주간 인기글