학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)y 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)y 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)y [질문 내용] Caused by: org.hibernate.AnnotationException: Entity 'jpabook.jpashop.domain.Category' has no identifier (every '@Entity' class must declare or inherit at least one '@Id' or '@EmbeddedId' property) 실행시 에러메세지가 뜨는데 @Id 에노테이션이 있음에도 해결되지않습니다. 소스파일도 첨부합니다 https://drive.google.com/file/d/126dOVMwaCPYOSqD4f7XOC0BkCUqtONAK/view?usp=sharing
안녕하세요. 강의 잘 보고 있습니다. em.createQuery에서 distinct를 사용해도 DB에서 받아올 때는 뻥튀기된 데이터를 받아오는 것이 맞을까요? em.createQuery의 반환값으로 List<Order>에 담을 때 Order의 id 중복을 제거해서 담은 뒤 반환한다는 것이 맞을까요? 결국 distinct를 사용하나 안 하나 DB에 나가는 쿼리는 같을까요? public List<Order> findAllWithItem() { return em.createQuery( "select distinct o from Order o" + " join fetch o.member m" + " join fetch o.delivery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", Order.class) .getResultList(); } 참고한 질문과 답변입니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-API%EA%B0%9C%EB%B0%9C-%EC%84%B1%EB%8A%A5%EC%B5%9C%EC%A0%81%ED%99%94&unitId=24332&tab=community&category=questionDetail&q=555554
제가 강의를 따라하면서 설치를 잘 못하여서 sc delete RabbitMQ 명령어를 사용했고 이후 재설치하여 진행을 하는데 아래와 같이 실패를 하고 있습니다. 그래서 호환이 문제이가 싶어서 github에서 버전호환으로 다시 시도를 해도 같은 문제가 발생합니다. RabbitMQ 커멘드로 삭제 다운 실행 관련 명령어를 사용해도 권한 문제가 발생을 했고, 관리자 모드로 명령어를 날려도 권한 문제가 발생했습니다. 혹시 몰라서 cmd 관리자 권한으로 날려도, RabbitMQ-server에 sbin이라는 위치로 들어가서 명령어를 날려도 같습니다. https://stackoverflow.com/questions/16001047/rabbitmq-fails-to-start 위 stackoverflow에서 관련 정보를 찾아서 진행을 했는데 같은 문제가 발생 됩니다. 지금 한 3시간 정도 삽질을 하니 진이 빠지네요.. 도와주세욥...
우선 강사님 강의 정말 잘 듣고있습니다 ! 테스트에 관심을 갖게되어서 강의를 보게 되었는데 너무 배울게 많은 것 같아서 감사합니다. 저도 Rest Docs를 이용해서 먼저 문서화 해서 작업을 진행해보려고 하는데 제가 아직 학생이라 그런지 잘모르는 부분이 많아서 정확하게 와닿지가 않아서 질문드립니다 ! 기존에 DocsTest처럼 Test를 만들어서 서비스를 mock으로 만들어서 구현한다는 것 까지는 알겠습니다. 이때 BDDMockito의 given을 안에 메서드가 들어가고 Request와 Response가 들어가는데 메서드는 메서드명과 파라미터, 리턴타입 정도까지만 정해두고 Request와 Response를 정의한다는 의미일까요 ? 그리고 당연히 실무니까 Domain Entity는 정의되어있는 상태에서 진행하기 때문에 Entity 정도는 정의되어있는 상태에서 작업을 진행하는걸까요 ? 질문을 정리하자면 실제 프로덕션 코드를 작성하기 전 REST Docs를 먼저 작성할 때 어느정도 코드를 작성해야하는지 궁금합니다 !
대원칙인 모든 논리 트랜잭션이 커밋되어야 모두가 커밋되는거고 하나라도 롤백되면 모두가 롤백된다는 개념에서 내부 트랜잭션이 롤백되면 그 시점에 모두 롤백시키면 되지 않나요? 굳이 내부 트랜잭션 롤백 후 물리 트랜잭션에 rollback_only마크를 달아 결국 모두가 롤백되도록 하는 이유가 궁금합니다. 또 궁금한 점은 만약 개발자가 실수로 외부 트랜잭션을 먼저 롤백해버린다면 -> 제가 실험해보니 외부 트랜잭션 롤백시 물리 트랜잭션이 즉각 롤백이 되더라구요. 아마 isNewTransaction이 트루인 경우니 최종 결정권자의 형태로 바로 롤백을 시키는 것 같은데 그러고 나서 내부 트랜잭션 롤백을 시도하니까 여전히 롤백 마크를 남기는 로그가 뜨더라구요. 이 점에 대해서 설명 부탁드립니다:)
배경 회원가입을 할 때, 이메일로 인증한 회원만 회원가입이 진행되도록 하는 구현중에 있습니다. 그래서, 이메일로 인증한 회원에 한해서 MAIL_VERIFIED_MEMBER 세션을 만들어서 반환하고, 회원가입할 때 MAIL_VERIFIED_MEMBER 세션이 있는지 확인하고자 합니다. 그래서, 이메일로 인증한 회원에 MAIL_VERIFIED_MEMBER 세션이 잘 들어가는지 Controller 테스트를 진행하고자 하는데, 어려움을 겪어서 질문드립니다. 이메일로 인증한 회원에 MAIL_VERIFIED_MEMBER 세션을 넣어주는 API이며, 이 api 를 테스트 하고자 합니다. @PostMapping("/email/authenticate") public ApiResponse<Void> authenticateEmail(@RequestBody @Valid EmailAuthenticationRequest request, HttpServletRequest servletRequest) { // 메일 인증한 회원에게 세션을 추가한다 if (mailService.isValidMail(request.toServiceRequest())) { HttpSession session = servletRequest.getSession(); session.setAttribute(MAIL_VERIFIED_MEMBER, true); return ApiResponse.ok(); } return ApiResponse.status(HttpStatus.BAD_REQUEST); } 테스트 코드를 아래 사진처럼 짜보았습니다 . 그러자, Response should contain header 'Set-Cookie' 라는 오류와 함께 테스트가 실패하게 됩니다. Postman 으로 api 를 호출하면 Set-Cookie 헤더에 JSESSIONID 값이 잘 들어 오는 것을 확인하였습니다. 그러나, 테스트로 진행하면 JSESSIONID 도 무작위 값이 아닌 1, 2 로 들어오게 되어 'api 호출 후 세션이 생성되어 쿠키에 들어갔는지' 테스트하는데 어려움을 겪어 질문 드립니다...ㅠㅠ api 호출 후, 응답에 세션과 쿠키가 잘 생성 되었는지를 테스트하려면 어떻게 해야할까요..? andDo(print()) 에서 MockHttpServletRequest 의 Session Attrs 에는 세션 값이 왜 들어가 있을까요.. 해당 api 를 호출하면 세션이 아직 생성이 안되었을 것이라 생각했기 때문입니다.. 해당 테스트를 실행할 때의 andDo(print()) 의 결과는 다음과 같습니다. MockHttpServletRequest: HTTP Method = POST Request URI = /member/email/authenticate Parameters = {} Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"48"] Body = {"email":"123@naver.com","authCode":"312nj5acz"} Session Attrs = {verified_member=true} MockHttpServletResponse: Status = 200 Error message = null Headers = [Content-Type:"application/json"] Content type = application/json Body = {"code":"0200","status":"OK","message":"OK","data":null} Forwarded URL = null Redirected URL = null Cookies = [] 질문이 길어 죄송합니다.. 그리고, 좋은 테스트 강의를 지식 공유 해주셔서 감사드립니다!!
안녕하세요. user(1~9)@aaa.com 계정 생성 후 postman 으로 /api/member/login 호출하여 로그인 성공 후, ApiLoginSuccessHandler 으로 빠지는 부분을 확인 하려는 참입니다. 그런데 postman 으로 호출시 loadUserByUsername 에서 return 이후 successHandler 가는 도중 실패가 뜹니다. Failed to process authentication request org.springframework.security .authentication.BadCredentialsException: 자격 증명에 실패하였습니다. DB에 있는 패스워드와 1111을 매칭해봐도 true 로 반환됩니다. 어떤부분이 문제 일까요...?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] -영상강의: 플러시 4분30초 부분 <1차 시도> : 원하던 결과값을 얻을 수 있었습니다. (선 위로 콘솔찍힘) <2차 시도>-id: 150L은 이미 2번 find 검사 진행한 상태 : flush()를 하지 않아도 결과 콘솔에는 선 위로 find결과가 출력됨. 질문: 1차 캐시 생명주기= 1번의 비즈니스 로직 이라고 설명해주셨는데(영상에서) 1번의 main문 실행이 1번의 로직이 인줄 알았어요. 정확히 1번의 비즈니스 로직이 어떤걸까요? (+ 위 사진 상황에서 캐시가 제거되는 시점을 어떻게 만들면 나타날까요?)
어제 주키퍼 서버, 카프카 서버, 카프카 커넥트까지 정상적으로 동작했고 DB에서 데이터 등록 시 토픽 생성이 안되어 모두 삭제하고 재설치, 그리고 강사님이 올려주신 파일로도 해봤는데 주키퍼 서버 기동하면 포트 중복 오류가 뜹니다. 사용중인 포트도 없고 기본 포트번호를 바꿔봐도 똑같은 오류가 나오고 있습니다.. [2024-09-01 22:44:51,121] INFO Server environment:java.io.tmpdir=C:\Users\PC\AppData\Local\Temp\ (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,122] INFO Server environment:java.compiler=<NA> (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,122] INFO Server environment:os.name=Windows 10 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,123] INFO Server environment:os.arch=amd64 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,127] INFO Server environment:os.version=10.0 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,128] INFO Server environment:user.name=PC (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,128] INFO Server environment:user.home=C:\Users\PC (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,129] INFO Server environment:user.dir=C:\Work\kafka_2.12-3.4.0 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,130] INFO Server environment:os.memory.free=494MB (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,131] INFO Server environment:os.memory.max=512MB (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,131] INFO Server environment:os.memory.total=512MB (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,132] INFO zookeeper.enableEagerACLCheck = false (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,132] INFO zookeeper.digest.enabled = true (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,133] INFO zookeeper.closeSessionTxn.enabled = true (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,134] INFO zookeeper.flushDelay=0 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,135] INFO zookeeper.maxWriteQueuePollTime=0 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,135] INFO zookeeper.maxBatchSize=1000 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,136] INFO zookeeper.intBufferStartingSizeBytes = 1024 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,138] INFO Weighed connection throttling is disabled (org.apache.zookeeper.server.BlueThrottle) [2024-09-01 22:44:51,140] INFO minSessionTimeout set to 6000 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,140] INFO maxSessionTimeout set to 60000 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,143] INFO Response cache size is initialized with value 400. (org.apache.zookeeper.server.ResponseCache) [2024-09-01 22:44:51,143] INFO Response cache size is initialized with value 400. (org.apache.zookeeper.server.ResponseCache) [2024-09-01 22:44:51,145] INFO zookeeper.pathStats.slotCapacity = 60 (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,145] INFO zookeeper.pathStats.slotDuration = 15 (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,146] INFO zookeeper.pathStats.maxDepth = 6 (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,147] INFO zookeeper.pathStats.initialDelay = 5 (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,147] INFO zookeeper.pathStats.delay = 5 (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,148] INFO zookeeper.pathStats.enabled = false (org.apache.zookeeper.server.util.RequestPathMetricsCollector) [2024-09-01 22:44:51,151] INFO The max bytes for all large requests are set to 104857600 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,152] INFO The large request threshold is set to -1 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,153] INFO Created server with tickTime 3000 minSessionTimeout 6000 maxSessionTimeout 60000 clientPortListenBacklog -1 datadir \tmp\zookeeper\version-2 snapdir \tmp\zookeeper\version-2 (org.apache.zookeeper.server.ZooKeeperServer) [2024-09-01 22:44:51,197] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory) [2024-09-01 22:44:51,199] WARN maxCnxns is not configured, using default value 0. (org.apache.zookeeper.server.ServerCnxnFactory) [2024-09-01 22:44:51,201] INFO Configuring NIO connection handler with 10s sessionless connection timeout, 2 selector thread(s), 24 worker threads, and 64 kB direct buffers. (org.apache.zookeeper.server.NIOServerCnxnFactory) [2024-09-01 22:44:51,208] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) [2024-09-01 22:44:51,210] ERROR Unexpected exception, exiting abnormally (org.apache.zookeeper.server.ZooKeeperServerMain) java.net.BindException: Address already in use: bind at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(Net.java:555) at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294) at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:89) at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:81) at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:676) at org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:158) at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:112) at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:67) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:140) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:90) [2024-09-01 22:44:51,214] INFO ZooKeeper audit is disabled. (org.apache.zookeeper.audit.ZKAuditProvider) [2024-09-01 22:44:51,218] ERROR Exiting JVM with code 1 (org.apache.zookeeper.util.ServiceUtils)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] fetch join을 할 때 별칭을 사용하는 것을 지양하라고 알고 있는데, @Test public void fetchJoinUse() throws Exception { em.flush(); em.clear(); Member findMember = queryFactory .selectFrom(member) .join(member.team, team).fetchJoin() .where(member.username.eq("member1")) .fetchOne(); } .join에서 2번째 인자로 team을 주면 별칭을 주는 것 아닌가요?? QueryDsl에서는 상관이 없는 걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문은 아닌데 제 경우 좀 헤맸어서 도움됐으면 하는 마음에서 올립니다. settings or properties -> build tools -> gradle 에서 설정한 Build and Run Gradle에서 Intellij로 변경한 부분 Gradle로 바꾸면 build -> generated -> sources -> ... -> main -> ... -> QHello 여기서 main 폴더가 root 폴더가 되면서 import 가능한 상태로 변합니다 참고하세요~
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 컨트롤러에서 모델에 addAttribute안해도 이미 모델에 들어가있는 경우가 있던데 이런것들고 명시적으로 model 에 넣어서 보내주는게 좋을까요? 아니면 코드 깔끔하게 그냥 없애는게 좋을까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 파라미터를 받을 때는 컨트롤러에서 메서드 실행될때 이미 dto로 받는건 알겠는데 dto를 저장하기 전에 엔티티로 바꾸는건 어디서 보통 하는건가요? 컨트롤러인가요 서비스인가요? 그리고 리포지토리에서 받아온 엔티티는 어디서 response용 dto로 바꿔주는 건가요? service에서 처리하고 컨트롤러로 보내는 건가요?
9월 01, 2024 7:00:54 오전 org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator getJdbcEnvironmentUsingJdbcMetadata WARN: HHH000342: Could not obtain connection to query metadata java.lang.IllegalStateException: Cannot get a connection as the driver manager is not properly initialized at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:259) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:52) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:136) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:247) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:132) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:43) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:61) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.addConnections(DriverManagerConnectionProviderImpl.java:499) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:372) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections$Builder.build(DriverManagerConnectionProviderImpl.java:550) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:102) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:82) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:136) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:247) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:395) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:262) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:191) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:55) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at hellojpa.JpaMain.main(JpaMain.java:9) 9월 01, 2024 7:00:54 오전 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl constructDialect WARN: HHH90000025: H2Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) 9월 01, 2024 7:00:54 오전 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 90048, SQLState: 90048 9월 01, 2024 7:00:54 오전 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Unsupported database file version or invalid file header in file "C:/Users/user/test.mv.db" [90048-224] Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Error calling Driver#connect [Unsupported database file version or invalid file header in file "C:/Users/user/test.mv.db" [90048-224]] [null] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:191) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:55) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80) at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at hellojpa.JpaMain.main(JpaMain.java:9) Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect [Unsupported database file version or invalid file header in file "C:/Users/user/test.mv.db" [90048-224]] [null] at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:51) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:134) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:43) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:61) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.addConnections(DriverManagerConnectionProviderImpl.java:499) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:372) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections$Builder.build(DriverManagerConnectionProviderImpl.java:550) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:102) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:82) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:136) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:247) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:395) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:262) 이런식으로 오류가뜨는데 뭐가 문제인지 모르겟네요. 세팅부터 문제가 생겼는데 해결이안돼 공부를 할수가 없어 너무 답답합니다.