묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
Lightsail에서 배포시 Error: Cannot find module './KakaoStrategy'에 대한 오류 질문입니다.
안녕하세요 강사님,현재 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); } })); };
-
해결됨게임 프로그래머 취업 전략 가이드
지금 언리얼로 포트폴리오를 만드는 중인데 궁금한 것이 있습니다.
지난주부터 언리얼5로 VR 퍼즐게임 포트폴리오를 만드는 중입니다.발사한 레이저를 거울 배치를 통해 특정지점으로 유도하기전선 이어서 문 스위치 켜기망치로 플레이트를 뒤집어서 특정 모양 만들기등의 기믹을 만들려고 하고 있습니다.그런데 한국 게임회사서는 VR게임을 시도를 거의 하지 않고 있고 신규 프로젝트 계획도 적은 걸로 아는데 취업을 위해 이렇게 만들어도 될지 의문이 듭니다.저도 MMO, FPS를 좋아하고 오래 했기 때문에 이러한 팀에 들어가고 싶긴 합니다.이런 팀에 지원하는데 VR게임 포트폴리오를 내미는 건 리스크가 있는 선택일까요? 아니면 인터렉션 구현을 잘했다면 좋은 평가를 받을 수 있을까요?블루프린트 에셋을 C++로 옮겨서 만들어 쓴 부분도 좋은 평가를 받을 수 있는 부분일까요?지금이라도 PC FPS나 TPS를 만들어야 하나 고민입니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
ELSE NULL 관련 질문입니다.
안녕하세요, ELSE NULL 관련 질문입니다.<CASE를 활용한 테이블 피봇(난이도 상)> 강의 내 문제에서ELSE NULL 을 써주지 않아도 결과는 똑같은 것 같은데END 전에 ELSE NULL을 써줘야하는 이유가 특별히 있을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
TypeScript Utility 부분 질문드립니다
Utility 부분 강의에서 type의 Partial, Required 등을 이용하여 모든 프라퍼티를 옵션으로 바꾸거나 필수로 바꾸는 방법을 가르쳐주셨는데, 특정 하나만 옵션으로 하거나, 특정 하나만 필수인자로 바꾸는 방법은 없을까요?interface IProfile {name: string;age: number;school: string;hobby?: string;friend:? string;}으로 정의했다고 하면 여기서 school만 옵션으로 바꾸고 싶다면, 방법이 없을까요?
-
미해결만들면서 배우는 리액트 : 기초
고양이 이미지 깨져요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 고양이 이미지 깨지는데, 어떻게 하면 될까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크로링 패턴에서 필요한 부분을 지정하는 방법
- 섹션 3 크롤링 패턴 관련 질문이 있습니다. 변수.find() 을 이용하여 원하는 부분을 찾는다고 했는데, 이때 find의 괄호 안에는 태그의 이름만 들어가는 게 맞나요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
보충 에셋 다운 관련
안녕하세요 보충 에셋관련 리소스들은 강의를 그전까지 다 들어야 다운이 가능한건가요? 미리 다운받으려 했는데 구름모양으로 된 다운버튼이 안보입니다..
-
미해결
궁금해서 여쭤봅니다.
강사님 Condition 의 matches 메서드는 메인메서드가 실행되기 전에 실행될거 같은데즉 스프링이 빈을 구성하기 전에 실행되는 것 같은데 어떻게 ConditionContext 와 AnnotationTypeMetadata 를 주입 받을 수 있는지 궁금합니다. 더군다나 ConditionContext 이나 AnnotationTypeMetadata 은 어디서도 빈으로 등록하지않은거 같은데 어떻게 동작하는지 궁금합니다.
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
버전 관련 질문
안녕하세요. 파이썬 및 판다스의 강의 촬영 날짜 기준 버전과 현재 버전이 다른데 문제 없이 강의를 따라갈 수 있을까요??
-
미해결
CSR 버그 질문입니다.
스택오버플로에도 올렸는데 답변이 안달리네요 ㅠㅠhttps://stackoverflow.com/q/76692263/21893669힌트라도 주실 분 계신가요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
union 해커랭크 문제풀이
안녕하세요 항상 좋은 강의 감사합니다symmetric pairs 문제에서 문제 초반 부에 xy 값이 같은 경우와 다른 경우로 나누어서 푸셨는데 저 같은 경우는 select f1.x,f1.yfrom 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값이 같은 경우와 다른 경우로 나누어서 풀어야 겠다고 생각하셨는지 알고 싶습니다. 감사합니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 해도 괜찮은건가요?
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)강사님과 동일한 접근 방법으로 상태트리를 그려보고 코드를 작성했는데, 이 방법도 강사님 코드와 시간 효율면에서 동일한 성능을 갖나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
beancreationException이 발생합니다.
안녕하세요.강의 수강시간 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.JpashopApplication17: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 disable2023-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 WebApplicationContext2023-07-28 17:03:19.492 INFO 18591 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 422 ms2023-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.Final2023-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@c878e832023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@c878e832023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@c878e832023-07-28 17:03:19.674 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration numeric_boolean -> org.hibernate.type.NumericBooleanType@6e3b60012023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration true_false -> org.hibernate.type.TrueFalseType@f27480d2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration yes_no -> org.hibernate.type.YesNoType@175c31ac2023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@770529b32023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@770529b32023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Byte -> org.hibernate.type.ByteType@770529b32023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character -> org.hibernate.type.CharacterType@7faae5872023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char -> org.hibernate.type.CharacterType@7faae5872023-07-28 17:03:19.675 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Character -> org.hibernate.type.CharacterType@7faae5872023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@57541caf2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@57541caf2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Short -> org.hibernate.type.ShortType@57541caf2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration integer -> org.hibernate.type.IntegerType@4a46979e2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration int -> org.hibernate.type.IntegerType@4a46979e2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Integer -> org.hibernate.type.IntegerType@4a46979e2023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@4a3b8bb52023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@4a3b8bb52023-07-28 17:03:19.676 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Long -> org.hibernate.type.LongType@4a3b8bb52023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@2c7cfb282023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@2c7cfb282023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Float -> org.hibernate.type.FloatType@2c7cfb282023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@66ffef222023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@66ffef222023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Double -> org.hibernate.type.DoubleType@66ffef222023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_decimal -> org.hibernate.type.BigDecimalType@5a2ac2b22023-07-28 17:03:19.677 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigDecimal -> org.hibernate.type.BigDecimalType@5a2ac2b22023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_integer -> org.hibernate.type.BigIntegerType@20a4bbd12023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigInteger -> org.hibernate.type.BigIntegerType@20a4bbd12023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration string -> org.hibernate.type.StringType@9c1c7822023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.String -> org.hibernate.type.StringType@9c1c7822023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nstring -> org.hibernate.type.StringNVarcharType@72567a342023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ncharacter -> org.hibernate.type.CharacterNCharType@7862f302023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration url -> org.hibernate.type.UrlType@6eae28c22023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.net.URL -> org.hibernate.type.UrlType@6eae28c22023-07-28 17:03:19.678 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Duration -> org.hibernate.type.DurationType@17f8c2002023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Duration -> org.hibernate.type.DurationType@17f8c2002023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Instant -> org.hibernate.type.InstantType@7a1a35612023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Instant -> org.hibernate.type.InstantType@7a1a35612023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDateTime -> org.hibernate.type.LocalDateTimeType@18a33f852023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDateTime -> org.hibernate.type.LocalDateTimeType@18a33f852023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDate -> org.hibernate.type.LocalDateType@17f8f8732023-07-28 17:03:19.679 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDate -> org.hibernate.type.LocalDateType@17f8f8732023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalTime -> org.hibernate.type.LocalTimeType@2804eca52023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalTime -> org.hibernate.type.LocalTimeType@2804eca52023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@299d4e7e2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@299d4e7e2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetTime -> org.hibernate.type.OffsetTimeType@31bb0e902023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetTime -> org.hibernate.type.OffsetTimeType@31bb0e902023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@471064be2023-07-28 17:03:19.680 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@471064be2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration date -> org.hibernate.type.DateType@6a9aa16a2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Date -> org.hibernate.type.DateType@6a9aa16a2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration time -> org.hibernate.type.TimeType@70df6c4d2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Time -> org.hibernate.type.TimeType@70df6c4d2023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timestamp -> org.hibernate.type.TimestampType@616672542023-07-28 17:03:19.681 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Timestamp -> org.hibernate.type.TimestampType@616672542023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Date -> org.hibernate.type.TimestampType@616672542023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@162fea812023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar -> org.hibernate.type.CalendarType@175f22952023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Calendar -> org.hibernate.type.CalendarType@175f22952023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.GregorianCalendar -> org.hibernate.type.CalendarType@175f22952023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_date -> org.hibernate.type.CalendarDateType@6a2b0c4f2023-07-28 17:03:19.682 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_time -> org.hibernate.type.CalendarTimeType@126daad92023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration locale -> org.hibernate.type.LocaleType@1f22f94e2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Locale -> org.hibernate.type.LocaleType@1f22f94e2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration currency -> org.hibernate.type.CurrencyType@773f10052023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Currency -> org.hibernate.type.CurrencyType@773f10052023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timezone -> org.hibernate.type.TimeZoneType@70a9cba32023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.TimeZone -> org.hibernate.type.TimeZoneType@70a9cba32023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration class -> org.hibernate.type.ClassType@d9bd49c2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Class -> org.hibernate.type.ClassType@d9bd49c2023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-binary -> org.hibernate.type.UUIDBinaryType@191cf1b02023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.UUID -> org.hibernate.type.UUIDBinaryType@191cf1b02023-07-28 17:03:19.683 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-char -> org.hibernate.type.UUIDCharType@30e9d0f12023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary -> org.hibernate.type.BinaryType@35520e4e2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte[] -> org.hibernate.type.BinaryType@35520e4e2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [B -> org.hibernate.type.BinaryType@35520e4e2023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-binary -> org.hibernate.type.WrapperBinaryType@2d0f09952023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Byte[] -> org.hibernate.type.WrapperBinaryType@2d0f09952023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Byte; -> org.hibernate.type.WrapperBinaryType@2d0f09952023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration row_version -> org.hibernate.type.RowVersionType@108f2fc72023-07-28 17:03:19.684 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration image -> org.hibernate.type.ImageType@10fe0f582023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration characters -> org.hibernate.type.CharArrayType@3aeb1b382023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char[] -> org.hibernate.type.CharArrayType@3aeb1b382023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [C -> org.hibernate.type.CharArrayType@3aeb1b382023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-characters -> org.hibernate.type.CharacterArrayType@1658b6452023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Character; -> org.hibernate.type.CharacterArrayType@1658b6452023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Character[] -> org.hibernate.type.CharacterArrayType@1658b6452023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration text -> org.hibernate.type.TextType@1d60ee1e2023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ntext -> org.hibernate.type.NTextType@1bbfb702023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration blob -> org.hibernate.type.BlobType@f8140702023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Blob -> org.hibernate.type.BlobType@f8140702023-07-28 17:03:19.685 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob -> org.hibernate.type.MaterializedBlobType@30e80212023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration clob -> org.hibernate.type.ClobType@38fa7fa82023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Clob -> org.hibernate.type.ClobType@38fa7fa82023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nclob -> org.hibernate.type.NClobType@588332a12023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.NClob -> org.hibernate.type.NClobType@588332a12023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob -> org.hibernate.type.MaterializedClobType@1b656a572023-07-28 17:03:19.686 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob -> org.hibernate.type.MaterializedNClobType@383ed6582023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration serializable -> org.hibernate.type.SerializableType@3d5ab4d52023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration object -> org.hibernate.type.ObjectType@4428a4822023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Object -> org.hibernate.type.ObjectType@4428a4822023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_date -> org.hibernate.type.AdaptedImmutableType@4cc5e4272023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_time -> org.hibernate.type.AdaptedImmutableType@7c46f9292023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_timestamp -> org.hibernate.type.AdaptedImmutableType@10aeff2d2023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_dbtimestamp -> org.hibernate.type.AdaptedImmutableType@1f449d152023-07-28 17:03:19.687 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar -> org.hibernate.type.AdaptedImmutableType@7c43b6062023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_date -> org.hibernate.type.AdaptedImmutableType@370787162023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_binary -> org.hibernate.type.AdaptedImmutableType@50b7514c2023-07-28 17:03:19.688 DEBUG 18591 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_serializable -> org.hibernate.type.AdaptedImmutableType@6ba0c27a2023-07-28 17:03:19.701 INFO 18591 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-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 failedorg.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 omittedProcess finished with exit code 0
-
해결됨Atlassian Jira 사용법 기초
질문이 있습니다.
혹시 각 강의별 상세 PPT 문서를 받을 수 있을까요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
id..???
DiaryItem의 버튼에있는 onClick에서 사용되는 id는 props로 받아온 걸 사용하는건가요? 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
vscode로 플러터 디버깅을 할 때 오류가 나면
vscode로 플러터 디버깅을 할 때 오류가 나면 오류가 발생한 지점을 표시하면서 디버깅이 일시중지되고 거기서 f5(계속)을 계속 눌러서 문제되는 지점을 다 확인해야만 디버깅이 재개되는데요, 이게 너무 불편합니다..강의에서보면 안드로이드스튜디오는 그냥 오류메시지만 알려주고 디버깅이 일시정지되거나 그러지 않아서 오히려 디버깅이 편해보이는데, 혹시 선생님께서는 vscode에서도 안드로이드스튜디오식으로 디버깅을 할 수 있게 하는 방법을 아시나요..? 나름대로 찾아보려고 하는데 검색어부터 애매해서 쉽지않네요 ㅠㅠ 그냥 안드로이드스튜디오로 갈아타야할까요..
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
강의자료
강의자료 다운로드는 어디서 받나요??
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
OnClickEvent
안녕하세요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를 왜 인자로 넘겨주는지 궁금해요!
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Cannot resolve symbol 'EntityModel' (+ RepresentationModel)
두 가지 질문이 있습니다.EntityModel을 찾을 수 없다고 나오는데 도움을 받을 수 있을까요?? 공식문서에는 RepresentationModel를 상속하여 기능을 추가하라고 가이드하고 있는데, EntityModel와 다른가요? 1. cannot resolve symbol 'EntityModel'제 코드와 설정은 아래와 같습니다.build.gradleplugins { 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 Controllerpackage 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' 에러가 발생하네요 ㅠㅠ 감사합니다 :-)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
개인 토이 프로젝트 진행 중인데 일대일 매핑 관련하여 질문이 있습니다.
[질문 내용]보안매체와 토큰이라는 엔티티 클래스가 있습니다.보안매체 하나에 서버에서 부여받은 토큰을 따로 db에 저장하여 관리하려고 하는데요. 하나의 보안매체에서는 유효한 토큰 하나만 부여 가능하므로 OneToOne 관계로 관계를 맺었습니다. 그런데 이 토큰은 일정기간이 지나면 만료가 되고 결국 만료기간이 지나면 새로운 토큰을 생성해야합니다. 이렇게 된다면 하나의 보안매체에 여러개의 토큰이 매칭 될 수 있는데.. 이건 oneToMany 관계이고, 비지니스에서 쿼리 수행을 통해 만료 안된 토큰을 추출 해야하는 상황인걸까요? 조금 혼선이 옵니다 ㅠㅠ 도움 주시면 감사하겠습니다.