묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
라이브러리 실행이 안돼요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기 자료에 나와있는대로 했는데도 라이브러리 작동이 안되네요ㅠㅠ 매개변수가 비어있는 sql만 찍혀요! 뭐가 문제일까요?build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.0.4' id 'io.spring.dependency-management' version '1.1.0' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' testImplementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6' } tasks.named('test') { useJUnitPlatform() }application.yml콘솔창 select next value for member_seqfindMember == member: true2023-03-22T18:50:10.129+09:00 DEBUG 61227 --- [ main] org.hibernate.SQL : insert into member (username, id) values (?, ?)2023-03-22T18:50:10.157+09:00 INFO 61227 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-03-22T18:50:10.157+09:00 TRACE 61227 --- [ionShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@d3cce46] for TypeConfiguration2023-03-22T18:50:10.158+09:00 DEBUG 61227 --- [ionShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@4462a887] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@d3cce46]2023-03-22T18:50:10.160+09:00 INFO 61227 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-03-22T18:50:10.178+09:00 INFO 61227 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code 0
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Order Entity Cascade 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "delivery_id") private Delivery delivery;Order Entity의 코드입니다. 현재 Order와 Delivery의 관계에서 연관관계의 주인은 Order입니다. 그렇다면 Order에서 delivery의 값을 변경하면 연관관계의 주인이기 때문에 반영이 된다고 알고 있습니다. 그래서 cascade를 굳이 써야하나 고민을 하고있었습니다. 제가 생각해낸 이유는 연관관계의 주인이여서 Order에서 delivery의 값을 변경이 가능한 것은 객체 관점(delivery에 값이 입력되기만 함 영속성 컨텍스트에 저장 X)이고 cascade는 db관점에서의 접근이므로 cascade를 작성해 줘야 묶여서 영속성 컨텍스트로 넘어간다(cascade를 작성하지 않으면 order를 persist했을 경우 delivery에 값은 있지만 영속성컨텍스트로 넘겨주지않음). 입니다. 제가 생각한 방법이 맞는지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
객체의 의존성 주입 할때 주인 테이블에 대한 궁금증
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]안녕하세요. 제가 JPA 기본편을 들을 시간이 없이 실무에 바로 적용해보고자 JPA 활용을 먼저 듣게 되었습니다.그래서 의존성 주입에 대한 기본편 내용을 숙지하지 못해서 질문을 드립니다. 강사님께서 테이블 간의 FK지정 시 다 대 1 관계에서 무조건 다의 테이블에 Joincolumn을 엮고 1의 테이블에는 mappedby를 통해서 이 둘을 엮는다고 말씀하셨습니다.하지만, 무조건 적으로 다의 테이블에서만 이를 시행해야하나요? 그 반대로 할 수는 없는건가요???
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 만들 때 선택사항
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.스프링 부트 프로젝트 만들 때 Packaging은 jar, war 둘중 무엇을 선택해야 하나요?java 버전은 11버전으로 진행하면 될까요?
-
해결됨따라하며 배우는 리액트 테스트 [2023.11 업데이트]
This could be because the text is broken up by multiple elements. 에러
선생님 안녕하세요아무리 봐도 오류 이유를 모르겠어서 질문드립니다.제 오류는 아래와 같습니다. (코드상 에러난 부분 ✅ 했습니다)> TestingLibraryElementError: Unable to find an element with the text: /loading/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. // CompletePage.js import axios from "axios"; import React, { useEffect, useContext, useState } from "react"; import ErrorBanner from "../../components/ErrorBanner"; import { OrderContext } from "../../contexts/OrderContext"; function CompletePage({ setStep }) { const [OrderDatas, , resetOrderDatas] = useContext(OrderContext); const [orderHistory, setOrderHistory] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(false); useEffect(() => { orderCompleted(OrderDatas); }, [OrderDatas]); const orderCompleted = async (OrderDatas) => { try { let response = await axios.post( "http://localhost:5001/order", OrderDatas ); setOrderHistory(response.data); setLoading(false); } catch (error) { setError(true); } }; if (error) { return <ErrorBanner message="에러가 발생했습니다." />; } const orderTable = orderHistory.map((item) => ( <tr key={item.orderNumber}> <td>{item.orderNumber}</td> <td>{item.price}</td> </tr> )); const handleClick = () => { resetOrderDatas(); setStep(0); }; if (loading) { return <div>loading</div>; ✅ } else { return ( <div style={{ textAlign: "center" }}> <h2>주문이 성공했습니다.</h2> <h3>지금까지 모든 주문</h3> <table style={{ margin: "auto" }}> <thead> <tr> <th>주문 번호</th> <th>주문 가격</th> </tr> </thead> <tbody>{orderTable}</tbody> </table> <button onClick={handleClick}>첫페이지로</button> </div> ); } } export default CompletePage; //App.test.js import { render, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import App from "./App"; test("From order to order completion", async () => { render(<App />); const event = userEvent.setup(); const americaInput = await screen.findByRole("spinbutton", { name: "America", }); await event.clear(americaInput); await event.type(americaInput, "2"); // England 여행 상품 3개 추가합니다. const englandInput = await screen.findByRole("spinbutton", { name: "England", }); await event.clear(englandInput); await event.type(englandInput, "3"); // insurance 옵션체크 const insuranceCheckbox = await screen.findByRole("checkbox", { name: "Insurance", }); await event.click(insuranceCheckbox); //모든 주문을 한 이후 주문 버튼 클릭! const orderButton = screen.getByRole("button", { name: "주문", }); await event.click(orderButton); ////////// 주문확인페이지 /////// const summaryHeading = screen.getByRole("heading", { name: "주문 확인" }); expect(summaryHeading).toBeInTheDocument(); const productHeading = screen.getByRole("heading", { name: "여행 상품: 5000", }); expect(productHeading).toBeInTheDocument(); const optionsHeading = screen.getByRole("heading", { name: "옵션: 500", }); expect(optionsHeading).toBeInTheDocument(); expect(screen.getByText("2 America")).toBeInTheDocument(); expect(screen.getByText("3 England")).toBeInTheDocument(); expect(screen.getByText("Insurance")).toBeInTheDocument(); const confirmCheckbox = screen.getByRole("checkbox", { name: "주문하려는것을 확인 하셨나요?", }); await event.click(confirmCheckbox); const confirmOrderButton = screen.getByRole("button", { name: "주문 확인", }); await event.click(confirmOrderButton); //// 주문 완료 //// const loading = screen.getByText(/loading/i); ✅ expect(loading).toBeInTheDocument(); const completeHeader = await screen.findByRole("heading", { name: "주문이 성공했습니다.", }); expect(completeHeader).toBeInTheDocument(); const loadingDisappeared = screen.queryByText("loading"); expect(loadingDisappeared).not.toBeInTheDocument(); const firstPageButton = screen.getByRole("button", { name: "첫페이지로", }); event.click(firstPageButton); const productsTotal = screen.getByText("상품 총 가격: 0"); expect(productsTotal).toBeInTheDocument(); const optionsTotal = screen.getByText("옵션 총 가격: 0"); expect(optionsTotal).toBeInTheDocument(); await waitFor(() => { screen.getByRole("spinbutton", { name: "America" }); }); }); 제가 에러를 이해한 바로는 return 문이 여러 경우로 나뉘어서 그렇다고 생각했습니다. 제대로 이해한게 맞을까요..?( This could be because the text is broken up by multiple elements.)실제로 아래 else return문에 loading을 넣어주니 해결이 되긴 했습니다. 하지만 아래 ✅와 같이 작성해주면 에러가 뜨네요..왜 이러는건지 혹시 아실까요? ㅠㅠif (loading) { return <div>loading</div>; ✅ } else { return ( <div style={{ textAlign: "center" }}> <h2>주문이 성공했습니다.</h2> <h3>지금까지 모든 주문</h3> <table style={{ margin: "auto" }}> <thead> <tr> <th>주문 번호</th> <th>주문 가격</th> </tr> </thead> <tbody>{orderTable}</tbody> </table> <button onClick={handleClick}>첫페이지로</button> </div> ); }선생님 코드를 보고 복붙했는데도 해결이 안되네요.ㅜ
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
강의 도표 자료 다운을 받으면, zip파일에 아무것도 들어있지않다고 나옵니다.
윈도우 운영체제를 쓰는데 강의 도표 자료 다운을 받으면, zip파일에 아무것도 들어있지않다고 나옵니다.다시 강의 도표 자료를 올려주실 수 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MVC 1편까지만 완강 후 수강해도 될까요?
안녕하세요! 강의를 통해 매일 백엔드 개발자에 한 걸음 더 가까워지는 느낌을 받고 있는 취준생입니다. 김영한 강사님의 강의로 프론트엔드에서 백엔드 개발자로의 전향을 준비하고 있습니다!다름이 아니라, 현재 저는 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵의 스프링 MVC 1편까지 완강한 상태인데요! 강사님께서 올려주신 로드맵 영상과 Q&A 게시판에서 답변주신 내용에 따르면 MVC 2편을 계속 수강하는 게 맞습니다. 그런데 제가 조금 더 빠르게 토이 프로젝트(정확히 말하면 상용 웹 서비스 출시 - 같이 하는 동료가 있습니다!)에 투입되고 싶은 마음이 큰 상태여서 이후 커리큘럼에 대해 고민이 생겼습니다..!우선은 실무적인 웹 애플리케이션 개발을 다루는 현재 강의(실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발)를 먼저 들음으로써 - 시간도 MVC 2편 대비 7시간 정도로 짧은 편이기에...! - 전체적인 개발 플로우를 접한 후, MVC 2편부터 DB 2편까지 남은 스프링 완전 정복 로드맵 강의를 수강하면서, 부족한 부분을 채워나가는 건 어떨까 생각이 들었습니다! 이와 관련해서 김영한 강사님의 고견을 듣고 싶어서, 질문글을 작성합니다 :-)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
EntityManager , JpaReopsitory
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 spring 강의를 듣고 혼자 구글링을 통해 연습을하다가 다시 인강으로 돌아온 수강생입니다! 혼자 연습할 때 리포지토리를 작성할 경우 JpaRepository를 extends 하여 사용하였습니다. 이때 em의 역할까지 자동으로 해주는것같아 엔티티 메니저는 사용하지않았습니다. 구글링을 더 해보니 CrudRepository등도 존재하는 것을 알게 되었습니다.여기서 질문은 보통 어느 방식을 선택하는지 궁금합니다. 상황에 맞는 방법이 있는 것인지 아니면 추세가 변하여 요즘은 어떤 것을 주로 쓴다는 흐름이 있는 것인지 궁금합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Could not find or load main class 에러 해결
Error: Could not find or load main class jpabook.jpashop.JpashopApplicationCaused by: java.lang.ClassNotFoundException: jpabook.jpashop.JpashopApplication위에 처럼 뜹니다.혼자서 검색도 해보았고 환경변수도 바꿔보았는데 무엇이 문제 인가요? 예전에 학습한다고 해봤을떄는 잘되었는데 지금은 안되네요...지금 파일은 영한님 '강의 소스 코드' 파일 입니다 -> 자바 버전 수정 하니 해결완료됨
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
@types를 dependencies에 넣는 이유?
지난 강좌에서 배포할때는 tsc로 js파일로 바꿔서 쓴다고 했던거 같은데 @types를 왜 dependencies에 넣어야 하죠?1)js파일로 바꾸어도 @types들이 필요한가요?2)아니면 배포환경에서 ts-node를 사용하는건가요? -> 지난강좌에서 효율이 좋지 않다고 하셧던거같은데..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
내용 관련 질문
정확히 개발에서 domain이란게 어떤 뜻인가요 ?개발 대상의 범위? 정도로 이해하고 있는데 정확히 어떤 뜻으로 사용되는 건가요 궁금합니다..!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
P6spy의 가독성(?)이 이상합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진이 잘 보이시는지 모르겠지만 쿼리문이 가로로 길게만 나타납니다.참고로 스프링부트는 3.x 버전이고 콘솔창 좌측에 소프트 랩 버튼또한 설정이되어있습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
쿼리파라미터 남기기
스프링 부트 3.0 이상에서는 강의에서 쿼리 파라미터 남기기 부분이 실행되지 않습니다. 어떻게 해야 하나요 ?
-
해결됨따라하며 배우는 리액트 테스트 [2023.11 업데이트]
Type.test.js파일에 궁금한점이 생겼습니다
강사님 안녕하세요 ~~ 늘 잘 듣고 있습니다.복습을 하다 궁금한점이 생겼는데요!Type.test.js에서 Products컴포넌트의 img태그를 변수 productImages로 집어주신걸 보았습니다. 근데 img태그는 Type.js가 아닌 Products.js에 있는건데,그렇담 Products.test.js 파일을 따로만들어 테스트를 해야하는것이 아닌가 하는 궁금증이 생겼습니다.그냥 Type페이지에 Products 컴포넌트가 들어있기 때문에 Type.test.js에 사용한건가요?test("displays product images from server", async () => { render(<Type orderType="products" />); const productImages = await screen.findAllByRole("img", { name: /product$/i, }); expect(productImages).toHaveLength(2); const altText = productImages.map((element) => element.alt); expect(altText).toEqual(["America product", "England product"]); });
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 조언을 얻고싶습니다.
제가 강의를 보면서 토이 프로젝트로 게시판을 만들고 있습니다.그래서 엔티티 관계도를 만들어봤고 아래는 제가 구현해 놓은 관계도 입니다.그런데 여기서 궁금한 점이 있습니다.이렇게 해도 괜찮은가요? Question, Answer, Comment가 SiterUser에 너무 의존하는거 같아서 의구심이 듭니다. 셋 다 작성자, 추천 필드로 인해 과도하게 연관을 지었나 싶습니다.마이페이지에서 해당 유저의 작성글과 댓글을 모으는 부분도 구현하려고 하는데 그러면 SiteUser부분에 questionList, AnswerList, CommentList를 추가해 양방향으로 볼 수 있도록 할지 아니면 DB에서 그냥 유저의 아이디와 일치하는 글들을 끌어오는 방식을 할지 고민이 됩니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
하나의 테스트 메서드에 assert 문이 많은 경우는 어떻게 받아들이면 좋을까요?
안녕하세요 강의의 상품주문() 테스트 코드를 보고 궁금증이 생겨 질문드립니다.저는 단위테스트를 하면 assert 문이 하나여야 한다고 생각했습니다. 다시 말해, 한 번에 하나를 검증하는 것이 좋다. 고 이해하고 있었어요.그런데 현재 서비스 테스트 코드에서는 assert 문이 많이 사용되고 있습니다. 이 이유가 orderService.order() 에서 많은 일을 하고 있어서 assert문이 많은 것으로 이해해도 될까요? (orderService.order() 로써 파생되는 결과를 모두 검증해야하므로 assert문이 많아질 수 밖에 없다라는 느낌일까요?)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
application.yml 적용 시 오류 관련 질문
spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug # org.hibernate.type: traceapplication.yml 같은 경우 코드를 복붙하였습니다.package jpabook.jpashop; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String name; }Member클래스는 다음과 같고package jpabook.jpashop; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; @Repository public class MemberRepository { @PersistenceContext EntityManager em; public Long save(Member member) { em.persist(member); return member.getId(); } public Member find(Long id) { return em.find(Member.class, id); } }레포지토리 클래스는 다음과 같습니다.실행은 기본 생성되있는 JpashopApplication을 실행했습니다.h2데이터베이스를 처음 접근하는 경우에는 오류가 발생이 안되고 정상적으로 테이블이 생성되는 것을 확인했는데 2번째 접근부터 에러가 나는 것을 확인했습니다.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.Member]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1762) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1132) ~[spring-context-6.0.6.jar:6.0.6]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:907) ~[spring-context-6.0.6.jar:6.0.6]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.6.jar:6.0.6]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.4.jar:3.0.4]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-3.0.4.jar:3.0.4]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-3.0.4.jar:3.0.4]at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.0.4.jar:3.0.4]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.4.jar:3.0.4]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.4.jar:3.0.4]at jpabook.jpashop.JpashopApplication.main(JpashopApplication.java:10) ~[classes/:na]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.Member]at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-6.0.6.jar:6.0.6]at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.0.6.jar:6.0.6]at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) ~[spring-orm-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1808) ~[spring-beans-6.0.6.jar:6.0.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758) ~[spring-beans-6.0.6.jar:6.0.6]... 16 common frames omittedCaused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member]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:1779) ~[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.6.jar:6.0.6]at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) ~[spring-orm-6.0.6.jar:6.0.6]at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.0.6.jar:6.0.6]... 20 common frames omittedCaused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the databaseat 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]... 38 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]... 42 common frames omitted
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
The collection has '0' elements, index '0' is invalid 에러 관련 질문입니다
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의 마지막 파트인 상품주문/주문목록 관련하여 오류가 나서 질문 드립니다 (회원,상품은 추가해두고) 주문을 하지 않은 상태에서는 상품주문, 주문목록 페이지 모두 잘 보입니다만 상품주문을 submit하면 Whitelabel Error Page 500가 뜹니다. 에러메시지는 이렇습니다org.springframework.expression.spel.SpelEvaluationException: EL1025E: The collection has '0' elements, index '0' is invalid뭔가 orders 페이지나 order 관련 클래스 파일 작성 중 에러가 났나 싶은데 살펴봐도 어느 부분 때문인지 확인이 어렵네요 ㅠㅠ 한번 봐주실 수 있나요? 소스코드 링크 첨부합니다https://drive.google.com/file/d/1pnvzT9BT1Rycfp36iWD3mLlgFkXp9NtR/view?usp=sharing
-
미해결프로젝트로 배우는 Vue.js 3
to와 :to의 차이점
router-link 태그에서 원래 to로 달려있던 속성을 :to로 바인딩 해주셨는데 이거는 어떤 의미에서 바인딩을 시켜주셨는지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 목록 수정 시 상품명, 가격, 수량이 누락됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]어디가 잘못된 걸까요 ?