묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
컨트롤러 반환 타입 질문입니다.
안녕하세요, 강사님. 컨트롤러 코드 관련 질문입니다.작성한 코드는 컨트롤러의 메소드 반환 타입을 void로 해서 아무것도 반환하지 않는데요, 만약 postmapping 관련 메소드 작성 시, 작성한 게시글의 id값을 반환해주는 코드와 큰 차이가 있을까요?그리고 찾아보던 중, ResponseEntity를 사용해서 반환해주는 메소드를 보았는데, 메소드의 반환 타입에 따라 기능에 큰 차이가 있는지, 아니면 API 명세의 차이만 있고 기능에는 크게 차이가 없는지 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 편의 메서드에서 필드에 직접 접근하는 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]본 강의 마지막 부분에 연관관계 편의 메서드를 만드는 부분이 있는데, 필드에 직접 접근하여 설정하는 내용이 있습니다. 예를들어 this.child.add(child);this.member = member;와 같은 코드들이 문제가 되지는 않겠지만 유지보수 측면에서 안 좋은 영향을 끼치는 것 같아서this.getChild().add(child);this.setMember(member);와 같이 리팩토링하는 것이 좋지 않나 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
memberServiceTest 회원가입 NullPointerException 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.강의를 한 번 완주한 후 개별적으로 예제와 다르게 다시 공부하고 있는데 오류가 나서요..ㅜㅜhttps://drive.google.com/file/d/1Fe9hZbwSCKFYyQtmj_TU2Sl9VwqeXCsO/view?usp=sharing무엇 때문에 오류가 났는지 알 수 있을까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
team.getId 부분이 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]Team team = new Team(); team.setName("TeamA"); System.out.println("team.getId = " + team.getId()); em.persist(team); System.out.println("team.getId = " + team.getId()); //이 부분이 궁금합니다 db에 넣질 않아서 id 값이 생성이 안되었을텐데 어떻게 id값을 가져오는건가요?여기서 보면 em.persist 이전에 시도한 team.getId는 null값이 나오는데(team.getId = null)persist 이후에 시도한 team.getId는 값을 얻을 수 있었습니다.(team.getId = 1) 영속성 컨텍스트에만 넣고 db에 commit은 하지 않았기에 id값이 아직 생성조차 안되었을텐데 어떻게 아이디 값이 나오는지 궁금합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
1차 캐시와 트랜잭션 격리 수준
영속성 컨텍스트 부분을 공부하다가 의문이 생겨 질문 남깁니다.PPT를 보면 '1차 캐시로 반복 가능한 읽기(REPEATABLE READ) 등급의 트랜잭션 격리 수준을 데이터베이스가 아닌 애플리케이션 차원에서 제공'이라고 나와 있습니다.그런데 제가 생각하기로는 트랜잭션 커밋을 하기 전까지는 1차 캐시에서만 엔티티를 조회하기 때문에 같은 이유로 팬텀 리드 현상도 일어나지 않을 것 같습니다.팬텀 리드 현상이 일어나지 않는다고 가정할 때, 팬텀 리드 현상이 일어나지 않음에도 불구하고 SERIALIZABLE 등급이 아닌 REPEATABLE READ 등급의 트랜잭션 격리 수준을 제공한다고 표현한 이유는 팬텀 리드 현상이 일어나지 않지만 SERIALIZABLE은 아닌 예시가 존재하기 때문일까요?즉, 제가 SERIALIZABLE 레벨을 단순히 'Dirty Read, Non-repeatable read, Phantom read 현상이 발생하지 않는 레벨'로 이해하고 있는게 잘못된 걸까요?
-
미해결실전! Querydsl
Booleanbuilder이용시 조건 다른 컬럼 조회
private BooleanExpression checkActivityContainsGeneration(Integer generation) { if(generation == null) return null; return QMemberActivity.memberActivity.generaition.eq(generation); }이렇게 전체 멤버를 조회할때, 해당 generation 값을 가져오는 boolean expression을 조회했습니다.하지만, generation 을 이용한 정렬을 할때에는, 해당 userid를 가진 모든 generation 컬럼을 가져와야하는데, 위의 조건처럼 조건을 준다면 해당 generation 컬럼만 가져와서 정렬이 제대로 되지 않더라구요!제가 원하는건 return QMemberActivity.memberActivity.memberId.eq( select memberId from QMemberActivity.memberActivity where QMemberActivity.memberActivity.generation.eq(generation) );과 같이 generation이 같은 컬럼의 memberId를 가져오는 것인데, booleanexpression으로 다른 컬럼 값을 return하려면 subquery를 작성하는 것 뿐일까요?
-
미해결실전! 스프링 데이터 JPA
MemberTest
MemberTest에서 changeTeam메소드를 테스트 해보고 싶어서 추가로 코딩해서 실행해보았습니다.근데 System.out.println(member1.getTeam().getName()); System.out.println(teamB.getMembers().stream().collect(Collectors.toList()));위의 코드에는 반영이 되는 데 h2에 select문으로 member를 쿼리해보면 반영이 안되어있더라구요. 제가 공부한바로는 em.flush(), em.close 하면 db에 반영되는 걸로 이해하고 있는데... 잘못이해하고 있는 건가요??
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
h2 엔티티 적용 안 됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]현재 인텔리제이에서는 뭔가 잘 된 것처럼 나오고 있지만 h2 에서는 엔티티가 적용이 안 되는 상태입니다 .위 그림처럼 제대로 잘 적용이 되어 보이지만코드를 실행하고 난 다음의 h2는이렇게 어떤 엔티티도 적용이 되지 않은 모습입니다. 코드는 정말 강의 보고 똑같이 따라 쳤습니다..ㅠㅠ 실행시켰을 때는 콘솔 창이 이런 문구들이 뜹니다. /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=58478:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/imjeong-u/Downloads/jpashop/target/classes:/Users/imjeong-u/.m2/repository/org/hibernate/hibernate-entitymanager/5.3.10.Final/hibernate-entitymanager-5.3.10.Final.jar:/Users/imjeong-u/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/Users/imjeong-u/.m2/repository/org/hibernate/hibernate-core/5.3.10.Final/hibernate-core-5.3.10.Final.jar:/Users/imjeong-u/.m2/repository/org/javassist/javassist/3.23.2-GA/javassist-3.23.2-GA.jar:/Users/imjeong-u/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar:/Users/imjeong-u/.m2/repository/org/jboss/jandex/2.0.5.Final/jandex-2.0.5.Final.jar:/Users/imjeong-u/.m2/repository/com/fasterxml/classmate/1.3.4/classmate-1.3.4.jar:/Users/imjeong-u/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar:/Users/imjeong-u/.m2/repository/org/dom4j/dom4j/2.1.1/dom4j-2.1.1.jar:/Users/imjeong-u/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.0.4.Final/hibernate-commons-annotations-5.0.4.Final.jar:/Users/imjeong-u/.m2/repository/javax/persistence/javax.persistence-api/2.2/javax.persistence-api-2.2.jar:/Users/imjeong-u/.m2/repository/net/bytebuddy/byte-buddy/1.9.5/byte-buddy-1.9.5.jar:/Users/imjeong-u/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.1.1.Final/jboss-transaction-api_1.2_spec-1.1.1.Final.jar:/Users/imjeong-u/.m2/repository/com/h2database/h2/1.4.199/h2-1.4.199.jar:/Users/imjeong-u/.m2/repository/javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar jpabook.Main5월 22, 2023 4:27:50 오전 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformationINFO: HHH000204: Processing PersistenceUnitInfo [name: hello...]5월 22, 2023 4:27:50 오전 org.hibernate.Version logVersionINFO: HHH000412: Hibernate Core {5.3.10.Final}5월 22, 2023 4:27:50 오전 org.hibernate.cfg.Environment <clinit>INFO: HHH000206: hibernate.properties not found5월 22, 2023 4:27:50 오전 org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>INFO: HCANN000001: Hibernate Commons Annotations {5.0.4.Final}5월 22, 2023 4:27:50 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configureWARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)5월 22, 2023 4:27:50 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001005: using driver [org.h2.Driver] at URL [jdbc:h2:tcp://localhost/~/jpashop]5월 22, 2023 4:27:50 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001001: Connection properties: {user=sa}5월 22, 2023 4:27:50 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001003: Autocommit mode: false5월 22, 2023 4:27:50 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>INFO: HHH000115: Hibernate connection pool size: 20 (min=1)5월 22, 2023 4:27:50 오전 org.hibernate.dialect.Dialect <init>INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect5월 22, 2023 4:27:51 오전 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stopINFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/jpashop]Process finished with exit code 0쿼리 문이 안 나오는걸 봐서는 잘 안되고 있긴 합니다.. 근데 어디서 문제인지 잘 모르겠습니다 정말 도저히 모르겠습니다... 몇 시간째 보고 있는지도 모르겠습니다.. 너무 스트레스네욤..ㅠㅠ
-
미해결실전! Querydsl
JOIN 2번 질문입니다..! (+is not a root path 에러)
개인 프로젝트중인데 도저히 해결을 못 하겠어서 질문 드립니다..@Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Cafe { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "cafe_id") private Long id; @NotNull @Column(unique = true) private String name; private String phoneNumber; private String bhours; private String address; private String domain; private String location; @OneToMany(mappedBy = "cafe") private List<Theme> themes = new ArrayList<>(); } @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Theme { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "theme_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "cafe_id") private Cafe cafe; private String name; private String genre; private String activity; private Integer difficult; private Integer limitTime; private Integer recommendStart; private Integer recommendEnd; @Column(length = 500) private String info; private String imageUrl; @OneToMany(mappedBy = "theme") private List<Review> reviews = new ArrayList<>(); //==연관관계 편의 메서드==// public void changeCafe(Cafe cafe) { this.cafe = cafe; cafe.getThemes().add(this); } } @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @EntityListeners(AuditingEntityListener.class) public class Review { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "review_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "theme_id") private Theme theme; private String nickname; private String password; private LocalDateTime playdate; private Double difficult; private String clear; private String time; private Integer hint; @Column(length = 700) private String content; @CreatedDate private LocalDateTime indate; private Double rating; } Entity는 위와 같고조회하려는 DTO는 다음과 같습니다.public class ThemeListDTO { private Long themeId; private String themeName; private String genre; private Integer recommendStart; private Integer recommendEnd; private String imageUrl; private String cafeName; private String location; private Double ratingAvg; @QueryProjection public ThemeListDTO(Long themeId, String themeName, String genre, Integer recommendStart, Integer recommendEnd, String imageUrl, String cafeName, String location, Double ratingAvg) { this.themeId = themeId; this.themeName = themeName; this.genre = genre; this.recommendStart = recommendStart; this.recommendEnd = recommendEnd; this.imageUrl = imageUrl; this.cafeName = cafeName; this.location = location; this.ratingAvg = ratingAvg; } } theme와 cafe를 join하여 해당 테마의 카페 정보를 가져오고,theme와 review를 join하여 해당 테마에 남겨진 리뷰들의 평균 rating 값을 가져오고 싶습니다.또한 리뷰점수로 desc 하여 테마 리스트를 정렬하고 싶습니다. 이를 위해서public class ThemeRepositoryCustomImpl implements ThemeRepositoryCustom { private final JPAQueryFactory queryFactory; public ThemeRepositoryCustomImpl(JPAQueryFactory queryFactory) { this.queryFactory = queryFactory; } @Override public Page<ThemeListDTO> themeAllListPage(Pageable pageable) { List<ThemeListDTO> themeListContent = queryFactory .select(new QThemeListDTO( theme.id, theme.name, theme.genre, theme.recommendStart, theme.recommendEnd, theme.imageUrl, cafe.name, cafe.location, review.rating.avg() )) .from(theme) .leftJoin(theme.cafe, cafe) .leftJoin(theme, review.theme) .orderBy(review.rating.avg().desc()) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); JPAQuery<Long> countQuery = queryFactory .select(theme.count()) .from(theme); return PageableExecutionUtils.getPage(themeListContent, pageable, countQuery::fetchOne); } } 위와 같이 코드를 작성했습니다. 하지만 이를 실행했을 경우ERROR 8584 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: review.theme is not a root path; nested exception is java.lang.IllegalArgumentException: review.theme is not a root path] with root cause java.lang.IllegalArgumentException: review.theme is not a root path이런 에러 문구가 뜨는데 어떻게 바꾸는 게 맞는 것인가요 ?해당 에러 문구를 구글링해봐도 답을 잘 모르겠어서 질문 드립니다 ..,, 해당 에러 문구가 무슨 뜻인지, 어떻게 해결하면 좋을지join 두번 했을 때 이렇게 하는 게 맞는 것인지리뷰 점수대로 desc 테마 리스트를 정렬하려고 하는데 orderBy에 저렇게 작성하는것이 맞을지에 대하여 답변해주시면 정말 감사하겠습니다 ..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성전이 관련 질문
안녕하세요. 전 현재 queryDSL 강의까지 듣고 몇달간 프로젝트를 진행중인 학생입니다.이번에 맞닥뜨리게된 문제가 특이해서 질문 남겨봅니다.다름이 아니라 CascadeType을 지정하지 않은 상태에서 데이터를 DB에 저장했었습니다.당시엔 flag를 통한 delete를 기능에 담아내고 있었기 때문입니다.하지만 시간이 흘러 delete를 해야할 타이밍이 와서 기능을 구현하는데의존성 때문에 부모 객체가 삭제될 수 없다며Connection org.postgresql.jdbc.PgConnection@37333b1f marked as broken because of SQLSTATE(08006), ErrorCode(0) 에러가 나며 에러를 띄웠습니다.아무리 찾아봐도 CascadeType을 통해 JPA에서 영속 상태를 정한다고만 하고Bard, ChatGpt, Bing 등 비슷한 답을 줬습니다.서비스 전의 DB라 DB에 있던 튜플들을 전부 삭제하는 것으로 해결했으나 궁금증은 여전히 해결되지 않았습니다.CascadeType을 지정하지 않았을 때 저장된 값은 CascadeType.ALL로 바꿨을 때도 영속상태로 들어가질 않나요?만약 그렇다면 해당 값이 어떻게 CascadeType이 지정되기 전에 저장됐는지 아닌지 알 수 있는 건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpa로부터 만들어지는 ddl을 어떻게 다듬어 사용하는지 궁금합니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]실전!스프링부트와 JPA활용 1편 - 엔티티클래스개발2 수업 18:46초 가량에서 선생님이 jpa가 자동으로 만들어내는 DDL을 그대로 사용하면 안되고 스크립트를 뽑아내서 가다듬고 사용한다고 말씀해주셨는데요가다듬는 과정에는 구체적으로 어떤 행위가 있는지 궁금합니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
delivery테이블과 order테이블의 관계는 일대다여야하는거 아닌가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]실전! 스프링부트와 JPA활용 수업 - 엔티티 클래스 개발1편 강의에서 28:21에 나오는 회원 테이블 그림입니다여기서 order 테이블과 delivery 테이블이 1:1 관계를 맺고 있는데요저는 order테이블과 delivery 테이블이 1:1이 아니라 일대다 관계여야하는거 아닌가하는 질문이 생겨서요. 왜냐하면 하나의 주문은 하나의 배달상태를 가지지만 하나의 배달상태는 여러 주문과 연결되잖아요. 혹시 제가 놓치고 있는 부분 있으면 말해주시면 감사하겠습니다
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
다음강의 예정 사라지셨나요?
선생님 다음 강의 준비중이라고 하셨는데 아무런 소식이 안올라와서요..혹시 다음강의 없어지신건가요?아님 아직 준비 중이신건가요?
-
미해결실전! 스프링 데이터 JPA
영속성 컨텍스트와 데이터 베이스 동기화
안녕하세요 공부를 하던 중에 궁금한 점이 생겼습니다.제가 간단한 회원정보를 스프링 데이터 jpa로 저장을 했는데 그 후에 db에서 직접 값을 바꾸고 조회하니 당연히 영속성 컨텍스트에 있는 부분과 동기화가 안되어 원하는 값이 조회가 안됐습니다. 이런 경우에 바뀐 값을 조회하려면 memberservice 혹은 JpaRepostory를 상속받은 memberRepository에서 영속성 컨텍스트를 clear로 한 번 지워야 할 것 같은데 어떻게 해야 할지 잘 모르겠습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
PostEditorBuidler cannot find symbol 오류
안녕하십니까 호돌맨님 교육 강의를 듣고있는 학생입니다. 다름이 아니라 도저히 구글링을 해봐도 해결책을 찾지 못해서 질문 남깁니다. PostEditorService -> edit methodPostEntityErrorSpring REST Docs1 - 기본설정 챕터에서 30분 정도에 호돌맨님이 Gradle 에 build 버튼을 누르시는데 거기서 querydsl compile 과 관련된 에러가 납니다. 내용을 보면 PostEditor 에서 PostEditorBuilder 심볼을 찾지 못한다고 에러가 발생하는데 Q파일 생성 문제인거 같은데 구글링을 해봐도 문제해결을 하지 못하였습니다.호돌맨님이 작성하신 코드랑 제가 다르게 작성한 코드 부분는 그냥 PostEditor 자체에서 static 으로callEditor 를 호출해서 PostEdit 파라미터로 받아서 값을 셋팅하고 Post 엔티티에 넘겨주는 방식으로 수정해 봤습니다. git url : https://github.com/ilikeamoney/inflearn-hodolman
-
미해결실전! 스프링 데이터 JPA
외래키가 없는 경우 조회
안녕하세요.강의를 통해서 많은 도움을 받고 있습니다.궁금한 내용은 외래키가 없는 경우의 데이터 조회입니다. 예를 들어서 <주문> 할 때에 <회원 정보>를 외래키로 넣으면 문제가 없는데...비회원 주문을 할 경우에는 <주문> 테이블에 들어갈 회원 컬럼에 null 값이 들어가게 됩니다.그러면 조회할 때 아주 조회가 안되는 문제가 있더라구요.실행되는 퀴리를 보면 inner join으로 나옵니다.예상에는 left join 하는 것처럼 빈 칸으로 나오리라 생각하는데 말이죠. 이럴 경우에는 어떻게 해야 할까요?어떻게 해야지 비회원 주문과 같이 외래키가 없는 경우에도 조회 할 수 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 실행 오류
JPA 강의를 보면서 엔티디 코드들을 그대로 따라 쳤는데 실행에 오류가 발생합니다. 혹시나 제대로 안한 게 있을까봐 강의 노트 코드를 복붙해봤는데 그대로입니다ㅠㅠ https://drive.google.com/file/d/162tAx6WhgNX7guYpILNmAI0nnZ5721qD/view?usp=sharingC:\Users\alstn\.jdks\openjdk-19.0.2\bin\java.exe -XX:TieredStopAtLevel=1 -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:C:\Users\alstn\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\231.8770.65\lib\idea_rt.jar=1482:C:\Users\alstn\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\231.8770.65\bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath "C:\Users\alstn\OneDrive\바탕 화면\umc_server\jpashop\out\production\classes;C:\Users\alstn\OneDrive\바탕 화면\umc_server\jpashop\out\production\resources;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.26\8f8cf0372abf564913e9796623aac4c8ea44025a\lombok-1.18.26.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\3.0.7\29ed7c24fd710adb11c216840860045946b7fa3e\spring-boot-starter-data-jpa-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\3.0.7\cdf465d29c9549bc7c215e890717bbbf64510bf1\spring-boot-starter-thymeleaf-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\3.0.7\6fd83cc63305158f43e1ccb5d218cb64a5a07306\spring-boot-starter-web-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.javassist\javassist\3.15.0-GA\79907309ca4bb4e5e51d4086cc4179b2611358d7\javassist-3.15.0-GA.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-devtools\3.0.7\338e4a628b9a2f1e4f9bed2b95c7954dae0dadd3\spring-boot-devtools-3.0.7.jar;C:\Users\alstn\.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;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-aop\3.0.7\8ed272d1ea64fd34b25e272426a61c1381251679\spring-boot-starter-aop-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\3.0.7\bf69e667f79b929b41c5bf1d3921befea6f5c83d\spring-boot-starter-jdbc-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.hibernate.orm\hibernate-core\6.1.7.Final\343f47b34c96fe9c44bf9b219a7b3c5d6d2fc90e\hibernate-core-6.1.7.Final.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\3.0.6\8cb5c5f4fbeec3291051eccec948142ed57e4de2\spring-data-jpa-3.0.6.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\6.0.9\3b06099725350189816fcfad01834450378500ca\spring-aspects-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\3.0.7\5fe8a6a2e71bbfce6ab717214bb8b7d0e726ccda\spring-boot-starter-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf-spring6\3.1.1.RELEASE\deb52ef921a4ac5132fedb7ebfc2bc1dad4382b3\thymeleaf-spring6-3.1.1.RELEASE.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\3.0.7\31f75f791f960d75e4792124ddf6e67763ebb4a8\spring-boot-starter-json-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\3.0.7\b2c4286c147c72cb3885981911128dd79ebb59c2\spring-boot-starter-tomcat-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\6.0.9\e127c07a23403832d0c6292f4a0bf8c7a2b7329f\spring-webmvc-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\6.0.9\2837dec8a75ecfdad367d6c30ce9cbdfc89caa7a\spring-web-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\3.0.7\fbc10086bb6d89e1e1d345ba4dbdd4917bc52362\spring-boot-autoconfigure-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\3.0.7\7e31cd733c6469feaefb32a5dd473e096967eb16\spring-boot-3.0.7.jar;C:\Users\alstn\.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;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\p6spy\p6spy\3.8.2\52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf\p6spy-3.8.2.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\6.0.9\8c1025bf9c1dc66f5268639866b5a45ed9bc62ef\spring-aop-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjweaver\1.9.19\afbffb1210239fbba5cad73093c5b216d515838f\aspectjweaver-1.9.19.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\5.0.1\a74c7f0a37046846e88d54f7cb6ea6d565c65f9c\HikariCP-5.0.1.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\6.0.9\814fe718b4d17187081c8efa66aaad7754d4675b\spring-jdbc-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.persistence\jakarta.persistence-api\3.1.0\66901fa1c373c6aff65c13791cc11da72060a8d6\jakarta.persistence-api-3.1.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.transaction\jakarta.transaction-api\2.0.1\51a520e3fae406abb84e2e1148e6746ce3f80a1a\jakarta.transaction-api-2.0.1.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\6.0.9\be88c57829b9ec038774b47c241ac45673352a55\spring-context-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\6.0.9\b211685d9f7499402b74f02a5b32447032095ac6\spring-orm-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\3.0.6\2a21a3427cfedadb68412a7c3a8fc0f36af7977d\spring-data-commons-3.0.6.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\6.0.9\89818f4cc656107709d3db6b238ed9b776d3dbb4\spring-tx-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\6.0.9\745619eee32c8ead88a21c97748d2416f1db8dd9\spring-beans-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\6.0.9\284ed111fa0b49b29f6fea6ac0afa402b809e427\spring-core-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\2.1.1\48b9bda22b091b1f48b13af03fe36db3be6e1ae3\jakarta.annotation-api-2.1.1.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.7\41eb7184ea9d556f23e18b5cb99cad1f8581fc00\slf4j-api-2.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\3.0.7\df7589cb2aa1aa85383c8cb213ab02a87eb6ad4\spring-boot-starter-logging-3.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.33\2cd0a87ff7df953f810c344bdf2fe3340b954c69\snakeyaml-1.33.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.1.1.RELEASE\374a129dfa5e7d7f1a46eacc4d49e594ca0cf26f\thymeleaf-3.1.1.RELEASE.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.14.3\35f7f751c3555dadccb6f173f9ac1e035a648da3\jackson-datatype-jsr310-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.14.3\fa8f81ea27d89cf73539bbc72c6304a30bcab631\jackson-module-parameter-names-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.14.3\9474ab543a65867461f8326c8fa0494b3efc761\jackson-datatype-jdk8-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.14.3\ba0373b04bf0f03b0cd268cd2e5e8444aaaf9208\jackson-databind-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\10.1.8\7abb8ab966dd135924c8e69cb2f1db735dee5f23\tomcat-embed-websocket-10.1.8.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\10.1.8\ec4b884806c65c80c86bb3db134f6f6f99e79ed8\tomcat-embed-core-10.1.8.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\10.1.8\6f3a4ae2ae37270eeb6e9bec4e7207facdc9e8fa\tomcat-embed-el-10.1.8.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\6.0.9\f50a1df7ed038ee7ca85528aff652cef4ff4883b\spring-expression-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-observation\1.10.7\69f51c7bdcf90e45d3f2dfa957b35dfe892b7466\micrometer-observation-1.10.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\6.0.9\88d9ddfc6bbbf4047c2a8de8de94a425b06f636a\spring-jcl-6.0.9.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.4.7\307944865579a6d490e6a4cbb5082dc8f36536ca\logback-classic-1.4.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.19.0\30f4812e43172ecca5041da2cb6b965cc4777c19\log4j-to-slf4j-2.19.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\2.0.7\a48f44aeaa8a5ddc347007298a28173ac1fbbd8b\jul-to-slf4j-2.0.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.6.RELEASE\8f603f22a18d4f7258f8860ccbb68b069f49904a\attoparser-2.0.6.RELEASE.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.14.3\b49701acb02b8e95ae1967821cfbafc220cf5795\jackson-annotations-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.14.3\4fa101f81504ed6811bf1823270adb51a9b45ff3\jackson-core-2.14.3.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-commons\1.10.7\9c90b47bd3ef6758301f1882506acc332fa27329\micrometer-commons-1.10.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.4.7\a2948dae4013d0e9486141b4d638d8951becb767\logback-core-1.4.7.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.19.0\ea1b37f38c327596b216542bc636cfdc0b8036fa\log4j-api-2.19.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.h2database\h2\2.1.214\d5c2005c9e3279201e12d4776c948578b16bf8b2\h2-2.1.214.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.5.0.Final\c19307cc11f28f5e2679347e633a3294d865334d\jboss-logging-3.5.0.Final.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.hibernate.common\hibernate-commons-annotations\6.0.6.Final\77a5f94b56d49508e0ee334751db5b78e5ccd50c\hibernate-commons-annotations-6.0.6.Final.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.jboss\jandex\2.4.2.Final\1e1c385990b258ff1a24c801e84aebbacf70eb39\jandex-2.4.2.Final.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.1\3fe0bed568c62df5e89f4f174c101eab25345b6c\classmate-1.5.1.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy\1.12.23\d470526e8c4566c04e9ae5d3ccb62d1a7aa58986\byte-buddy-1.12.23.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-runtime\4.0.2\e4e4e0c5b0d42054d00dc4023901572a60d368c7\jaxb-runtime-4.0.2.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.xml.bind\jakarta.xml.bind-api\4.0.0\bbb399208d288b15ec101fa4fcfc4bd77cedc97a\jakarta.xml.bind-api-4.0.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.inject\jakarta.inject-api\2.0.0\46fc8560b6fd17b78396d88f39c1a730457671f0\jakarta.inject-api-2.0.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.antlr\antlr4-runtime\4.10.1\10839f875928f59c622d675091d51a43ea0dc5f7\antlr4-runtime-4.10.1.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-core\4.0.2\8c29249f6c10f4ee08967783831580b0f5c5360\jaxb-core-4.0.2.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\jakarta.activation\jakarta.activation-api\2.1.2\640c0d5aff45dbff1e1a1bc09673ff3a02b1ba12\jakarta.activation-api-2.1.2.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.eclipse.angus\angus-activation\2.0.0\72369f4e2314d38de2dcbb277141ef0226f73151\angus-activation-2.0.0.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\txw2\4.0.2\24e167be69c29ebb7ee0a3b1f9b546f1dfd111fc\txw2-4.0.2.jar;C:\Users\alstn\.gradle\caches\modules-2\files-2.1\com.sun.istack\istack-commons-runtime\4.1.1\9b3769c76235bc283b060da4fae2318c6d53f07e\istack-commons-runtime-4.1.1.jar" jpabook.jpashop.JpashopApplication . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.7)2023-05-19T18:15:09.425+09:00 INFO 9520 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Starting JpashopApplication using Java 19.0.2 with PID 9520 (C:\Users\alstn\OneDrive\바탕 화면\umc_server\jpashop\out\production\classes started by alstn in C:\Users\alstn\OneDrive\바탕 화면\umc_server\jpashop)2023-05-19T18:15:09.429+09:00 INFO 9520 --- [ restartedMain] jpabook.jpashop.JpashopApplication : No active profile set, falling back to 1 default profile: "default"2023-05-19T18:15:09.495+09:00 INFO 9520 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable2023-05-19T18:15:09.495+09:00 INFO 9520 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'2023-05-19T18:15:10.262+09:00 INFO 9520 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2023-05-19T18:15:10.289+09:00 INFO 9520 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 18 ms. Found 0 JPA repository interfaces.2023-05-19T18:15:10.856+09:00 INFO 9520 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2023-05-19T18:15:10.864+09:00 INFO 9520 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]2023-05-19T18:15:10.864+09:00 INFO 9520 --- [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.8]2023-05-19T18:15:10.922+09:00 INFO 9520 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2023-05-19T18:15:10.922+09:00 INFO 9520 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1426 ms2023-05-19T18:15:10.944+09:00 INFO 9520 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2023-05-19T18:15:11.005+09:00 INFO 9520 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA2023-05-19T18:15:11.007+09:00 INFO 9520 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2023-05-19T18:15:11.014+09:00 INFO 9520 --- [ restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp://localhost/~/jpashop'2023-05-19T18:15:11.122+09:00 INFO 9520 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2023-05-19T18:15:11.169+09:00 INFO 9520 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.1.7.Final2023-05-19T18:15:11.370+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(FloatTypeDescriptor) replaced previous registration(DoubleTypeDescriptor)2023-05-19T18:15:11.380+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BasicTypeReference@6b1399972023-05-19T18:15:11.380+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BasicTypeReference@6b1399972023-05-19T18:15:11.380+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@6b1399972023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@55aa70ed2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@55aa70ed2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration true_false -> org.hibernate.type.BasicTypeReference@5f445e832023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@5f445e832023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4b8223ea2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4b8223ea2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.BasicTypeReference@3c2ac42c2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.BasicTypeReference@3c2ac42c2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@3c2ac42c2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary -> org.hibernate.type.BasicTypeReference@3a01e65c2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3a01e65c2023-05-19T18:15:11.381+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [B -> org.hibernate.type.BasicTypeReference@3a01e65c2023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@47cc07d92023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@47cc07d92023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Byte[] -> org.hibernate.type.BasicTypeReference@47cc07d92023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Byte; -> org.hibernate.type.BasicTypeReference@47cc07d92023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration image -> org.hibernate.type.BasicTypeReference@1d8bf1b92023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration blob -> org.hibernate.type.BasicTypeReference@776a5d802023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@776a5d802023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@42ec76372023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@65b9437c2023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.BasicTypeReference@27fd604b2023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.BasicTypeReference@27fd604b2023-05-19T18:15:11.382+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@27fd604b2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration integer -> org.hibernate.type.BasicTypeReference@2deaf692023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration int -> org.hibernate.type.BasicTypeReference@2deaf692023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@2deaf692023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.BasicTypeReference@23a23ccb2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.BasicTypeReference@23a23ccb2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@23a23ccb2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.BasicTypeReference@c2f39602023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.BasicTypeReference@c2f39602023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@c2f39602023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.BasicTypeReference@409cff962023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.BasicTypeReference@409cff962023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@409cff962023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@37ceb50b2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@37ceb50b2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@5b8835d2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@5b8835d2023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character -> org.hibernate.type.BasicTypeReference@70294eb32023-05-19T18:15:11.383+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char -> org.hibernate.type.BasicTypeReference@70294eb32023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@70294eb32023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@57ee7f6f2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration string -> org.hibernate.type.BasicTypeReference@154afe742023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@154afe742023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nstring -> org.hibernate.type.BasicTypeReference@54a925eb2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration characters -> org.hibernate.type.BasicTypeReference@6e4fb51b2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char[] -> org.hibernate.type.BasicTypeReference@6e4fb51b2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [C -> org.hibernate.type.BasicTypeReference@6e4fb51b2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4a7eaaba2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Character; -> org.hibernate.type.BasicTypeReference@4a7eaaba2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Character[] -> org.hibernate.type.BasicTypeReference@4a7eaaba2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration text -> org.hibernate.type.BasicTypeReference@80544df2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ntext -> org.hibernate.type.BasicTypeReference@151eae492023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration clob -> org.hibernate.type.BasicTypeReference@6ea269c2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6ea269c2023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nclob -> org.hibernate.type.BasicTypeReference@397e77812023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@397e77812023-05-19T18:15:11.384+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@1bffffcd2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7b73761d2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@2cfa71292023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@6672d9482023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@29753dc2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@62340e0d2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Duration -> org.hibernate.type.BasicTypeReference@1d38485b2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@1d38485b2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@6df06a2d2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@6df06a2d2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@5541ddfc2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@5541ddfc2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@17c7e53f2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@17c7e53f2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@48620d0c2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@48620d0c2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@262db72f2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7d58202b2023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@559ecca22023-05-19T18:15:11.385+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@559ecca22023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@d4cb1702023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@d4cb1702023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4693eb392023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7af6c2b82023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration date -> org.hibernate.type.BasicTypeReference@592eea982023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@592eea982023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration time -> org.hibernate.type.BasicTypeReference@318117fc2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@318117fc2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6892f8d62023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6892f8d62023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6892f8d62023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar -> org.hibernate.type.BasicTypeReference@24bd047e2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@24bd047e2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@24bd047e2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@ae9505b2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@33ee980d2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration instant -> org.hibernate.type.BasicTypeReference@4cc582ee2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@4cc582ee2023-05-19T18:15:11.386+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid -> org.hibernate.type.BasicTypeReference@97e1fc2023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@97e1fc2023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@97e1fc2023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@40bc123d2023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@7d5d4d72023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration class -> org.hibernate.type.BasicTypeReference@6767e4312023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@6767e4312023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration currency -> org.hibernate.type.BasicTypeReference@58c061202023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Currency -> org.hibernate.type.BasicTypeReference@58c061202023-05-19T18:15:11.387+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@58c061202023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration locale -> org.hibernate.type.BasicTypeReference@78cdadff2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@78cdadff2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration serializable -> org.hibernate.type.BasicTypeReference@5197ad5d2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@5197ad5d2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timezone -> org.hibernate.type.BasicTypeReference@9099d322023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@9099d322023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@521b34522023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@521b34522023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration url -> org.hibernate.type.BasicTypeReference@472cd9bb2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@472cd9bb2023-05-19T18:15:11.388+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration row_version -> org.hibernate.type.BasicTypeReference@2bbd69462023-05-19T18:15:11.394+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@6fe27d852023-05-19T18:15:11.394+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@6fe27d852023-05-19T18:15:11.395+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration object -> org.hibernate.type.JavaObjectType@49d132f2023-05-19T18:15:11.395+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@49d132f2023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration null -> org.hibernate.type.NullType@70d03a262023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@586efdab2023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@7ea67b52023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@1b5f04772023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@6a2f1c302023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@4583277b2023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@118027b12023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@729fe54a2023-05-19T18:15:11.396+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@60c3b9b52023-05-19T18:15:11.461+09:00 INFO 9520 --- [ restartedMain] SQL dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-05-19T18:15:11.484+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(NCharTypeDescriptor) replaced previous registration(CharTypeDescriptor)2023-05-19T18:15:11.484+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(NVarcharTypeDescriptor) replaced previous registration(VarcharTypeDescriptor)2023-05-19T18:15:11.484+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(LongNVarcharTypeDescriptor) replaced previous registration(LongVarcharTypeDescriptor)2023-05-19T18:15:11.486+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(NClobTypeDescriptor(DEFAULT)) replaced previous registration(ClobTypeDescriptor(DEFAULT))2023-05-19T18:15:11.488+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(2005, ClobTypeDescriptor(STREAM_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT))2023-05-19T18:15:11.489+09:00 DEBUG 9520 --- [ restartedMain] o.h.t.d.jdbc.spi.JdbcTypeRegistry : addDescriptor(3003, TimestampUtcDescriptor) replaced previous registration(TimestampUtcDescriptor)2023-05-19T18:15:11.494+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@1(java.time.OffsetDateTime,93)2023-05-19T18:15:11.495+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> basicType@1(java.time.OffsetDateTime,93)2023-05-19T18:15:11.495+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> basicType@1(java.time.OffsetDateTime,93)2023-05-19T18:15:11.495+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@2(java.time.ZonedDateTime,93)2023-05-19T18:15:11.495+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> basicType@2(java.time.ZonedDateTime,93)2023-05-19T18:15:11.495+09:00 DEBUG 9520 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> basicType@2(java.time.ZonedDateTime,93)2023-05-19T18:15:11.496+09:00 DEBUG 9520 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@615f1e34] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@5d76b3c3]2023-05-19T18:15:11.796+09:00 ERROR 9520 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.member.Delivery]2023-05-19T18:15:11.797+09:00 WARN 9520 --- [ 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]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.member.Delivery]2023-05-19T18:15:11.798+09:00 INFO 9520 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-05-19T18:15:11.808+09:00 INFO 9520 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.2023-05-19T18:15:11.810+09:00 INFO 9520 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2023-05-19T18:15:11.823+09:00 INFO 9520 --- [ restartedMain] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2023-05-19T18:15:11.846+09:00 ERROR 9520 --- [ 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]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.member.Delivery] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) ~[spring-context-6.0.9.jar:6.0.9] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) ~[spring-context-6.0.9.jar:6.0.9] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) ~[spring-context-6.0.9.jar:6.0.9] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.7.jar:3.0.7] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-3.0.7.jar:3.0.7] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-3.0.7.jar:3.0.7] at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.0.7.jar:3.0.7] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.7.jar:3.0.7] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.7.jar:3.0.7] at jpabook.jpashop.JpashopApplication.main(JpashopApplication.java:11) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.7.jar:3.0.7]Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.member.Delivery] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-6.0.9.jar:6.0.9] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.0.9.jar:6.0.9] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) ~[spring-orm-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) ~[spring-beans-6.0.9.jar:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) ~[spring-beans-6.0.9.jar:6.0.9] ... 19 common frames omittedCaused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.member.Delivery] at org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator(StandardIdentifierGeneratorFactory.java:222) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:515) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:372) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.internal.SessionFactoryImpl.lambda$new$1(SessionFactoryImpl.java:293) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na] at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1787) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na] at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:292) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:415) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1423) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) ~[spring-orm-6.0.9.jar:6.0.9] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) ~[spring-orm-6.0.9.jar:6.0.9] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.0.9.jar:6.0.9] ... 23 common frames omittedCaused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList(ExtractedDatabaseMetaDataImpl.java:302) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList(ExtractedDatabaseMetaDataImpl.java:151) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.id.enhanced.SequenceStyleGenerator.getSequenceIncrementValue(SequenceStyleGenerator.java:561) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.id.enhanced.SequenceStyleGenerator.configure(SequenceStyleGenerator.java:210) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator(StandardIdentifierGeneratorFactory.java:217) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] ... 41 common frames omittedCaused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getColumnIndex(JdbcResultSet.java:3492) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getLong(JdbcResultSet.java:745) ~[h2-2.1.214.jar:2.1.214] at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java) ~[HikariCP-5.0.1.jar:na] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetStartValueSize(SequenceInformationExtractorLegacyImpl.java:110) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0(SequenceInformationExtractorLegacyImpl.java:54) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:50) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList(ExtractedDatabaseMetaDataImpl.java:286) ~[hibernate-core-6.1.7.Final.jar:6.1.7.Final] ... 45 common frames omittedProcess finished with exit code 0
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Spring JPA Order by nullsHandling 지원 여부
데이터에 빈값과 null값이 있다고 할 때, order by column asc : 빈 값 우선 , null 값 맨 뒤order by column desc : null 값 우선, 빈 값 맨 뒤와 같이 정렬이 되는데빈 값과 null 값을 같은 위치에 정렬하고 싶어서 아래와 같이 코드를 짜서 구현을 했는데List<Order> orderList= new ArrayList<>(); //... 생략 if(StringUtils.equals(SORT_DESC, direction)) { orderList.add(new Order(Direction.fromString(direction), column).nullsLast()); } else { orderList.add(new Order(Direction.fromString(direction), column).nullsFirst()); } // ... Sort.by(orderList); Sort 객체에는 NULLS_LAST나 NULLS_FIRST 세팅이 잘 되는데jpa 쿼리로그에는 그냥 column에 대한 정렬밖에 없더라구요 좀 찾아보니, jpa 에서 nullHandling을 지원하지 않는다는 것도 같은데,https://github.com/spring-projects/spring-data-jpa/issues/1280이런 경우 대체할 수 있는 방법이 뭐가 있을까요? ㅠ
-
미해결Practical Testing: 실용적인 테스트 가이드
인증 관련 테스트 할 때 질문드립니다.
안녕하세요. 수업 내용과는 관련 없지만 테스트 코드를 짤 때 벽을 만나서 물어볼 곳이 마땅하지 않아 이 곳에 질문을 하게 됐습니다. 문제 있다면 바로 삭제하도록 하겠습니다.프로젝트를 진행하고 있는데 Spring Security를 적용해서 하고 있습니다. Service 쪽에서 Authentication 객체를 생성을 하고 JWT 를 만들어 줄 때 Authentication authentication = authenticationManagerBuilder.getObject().authenticate(new UsernamePasswordAuthenticationToken(username, password));이렇게 생성을 하고 있습니다. 그래서 테스트코드를 짤 때 @Mockprivate AuthenticationManagerBuilder authenticationManagerBuilder;이런 식으로 Mocking 해주고 Authentication authentication = mock(Authentication.class);given(authenticationManagerBuilder.getObject().authenticate(any())).willReturn(authentication);이런 식으로 Stubbing 해주고 있는데요.java.lang.NullPointerException: Cannot invoke "java.util.concurrent.atomic.AtomicBoolean.get()" because "this.building" is null이런 에러가 나타나고 있습니다. AuthenticationManagerBuilder를 좀 살펴보니 타고타고 가다보면 AbstractSecurityBuilder 라는 것을 상속하고 있더군요. AbstractSecurityBuilder를 보면 private AtomicBoolean building = new AtomicBoolean(); 이런 필드가 있습니다. 에러에서 나온 building이 이걸 말하는 것 같습니다.여기 나오는 building이 null 이어서 public final O getObject() { if (!this.building.get()) { throw new IllegalStateException("This object has not been built"); } return this.object;}여기서 if 조건문을 탈 때 this.building이 null이기 때문에 NPE가 발생하는 것 같습니다. AuthenticationManagerBuilder를 Mocking을 해서 이런 결과가 생기는것인가 하는 의심이 들고 있는 상황입니다. 혹시 이런 경우에는 어떤 식으로 Mocking을 하고 Stubbing을 해줘야 테스트가 통과될 지 궁금합니다.구글링해도 자료가 거의 없고 gpt도 계속 이상한 말을 반복해서..ㅠㅠ 어쩔 수 없이 여기에 질문 올려봅니다.도움 주시면 감사하겠습니다..!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
일반 조인에서 연관된 엔티티를 조회하지 않는 과정이 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]정확히는, 페치조인과 일반 조인의 차이에서,페치 조인은 연관된 엔티티를 함께 즉시 로딩하기 때문에 추가 select문이 발생하지 않고(한번에 퍼올리고)일반 조인은 그렇지 않아서 후에 조회할 때에 다시 select문이 나간다고 설명해주셨습니다.저는 이 부분이 일반 조인은 프록시형태로 조회해서 LAZY 때문에 그렇다고 이해하고 있었는데 프록시는 아니라고 설명해주셔서요.그러면 일반 조인이 후에 다시 조회하게 되는 정확한 이유가 궁금합니다.