실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
수강정보
(204개의 수강평)
2211명의 수강생
스킬태그 #Back-End, #Java, #Spring, #웹앱
5개월 할부시
월 17,600원88,000원
지식공유자 : 김영한
35회 수업 · 총 7시간 44분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 초급
HS C 프로필

MemberServiceTest 오류질문입니다! HS C 1일 전
우선 오류내용입니다. org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "     drop table category if exists" via JDBC Statement Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "CATEGORY" because "FKCQ2N0OPF5SHYH84EX1FHUKCBH" depends on it; SQL statement: 구글링해보니 application.yml  ddl-auto 값때문인것같은데요(?)... (테이블자동생성) test/resources/application.yml 쪽에 yml파일 만들어서 실행하면 오류가 안나는데 src/resources/application.yml을 읽어오면서 오류가 나는것같습니다. 정확한 원인을 못찾아서 질문드립니다.

3
Choonghee Lee 프로필

이력관리 질문 Choonghee Lee 1일 전
안녕하세요. 신입 취준생입니다.  선분이력 관리 같은 로직도 엔티티 내부에서 작성하나요? 딱 감이 오지는 않네요.. ㅜㅜ

6
Faust 프로필

실무에서 WEB을 구현할 때의 순서가 궁금합니다. Faust 2일 전
강의를 전부 들어서 기본적인 Domain - Repository - Service - Controller  순서대로 하는 것은 알고있습니다. 그리고 이 강의에서는 회원 가입, 목록, 상품 목록, 상품 검색들 전부의 Domain Repository Service 단을 짜고 그 후에 Controller와 웹 뷰페이지를 만드셨는데요 제가 궁금한 부분이 실무에서도 이런식으로 밑단을 다 만들어놓고 웹을 구현하나요? 아니면 일부분을 먼저 만들어놓고 그 다음껄로 넘어가서 다시 짜는건가요? 예를 들면 전자는 로그인, 회원가입, 상품 등록, 상품 검색이 필요하다고 가정하면 로그인 회원가입 상품등록 검색에 필요한 모든 리포지토리와 서비스단을 미리 구현하는 거고 후자는 일단 회원가입에 필요한 리포지토리와 서비스 단을 구현하고 웹페이지를 만들어서 테스트 후에 로그인 기능을 만들고 상품 등록을 만들고 상품 목록과 검색을 만들고.. 이런 방식입니다. 사실 제가 웹사이트를 현재 만들고 있는데 전자로 진행하려고 했으나.. 이게 jpa도 처음 배워봐서 그런지 먼가 설계를 하는 부분부터 멘붕이 오더라구요..  당장 필요한 메서드도 생각이 안나고 이 메서드는 무슨 파라미터가 필요할까.. 고생하면서 리포지토리 다 짜놓으니까 또 필요에 의해  List에서 Optional로 리턴 타입받으니까 꼬리에 꼬리를 물고 오류가 터지더라구요.. ㅋㅋ 그래서 실무에서는 보통 어떤 방식을 선호하는지 궁금해서 질문드렸습니다. 그리고 개인플젝같은경우는 후자로 해도 상관없나요?  이게 강의를 들을때는 몰랐는데 다 듣고 막상 해보려니 설계부터 장난이 아니네요

2
Jong Hee Park 프로필

강사님 얼떨결에 해결해서 질문을 지웠는데 답변을 해주셨었내요. Jong Hee Park 3일 전
문제점이 static 폴더에 있는 정적리소스 css에 접근할 때  타 페이지에서는 자꾸 그 페이지가 포함된 패키지명이 들어가서 왜그러는지 찾다가 아는 형님이 공부하시는데로 찾아와서 제가 css파일 경로를 assets/css 이런 형식으로 썼었는데 assets 앞에 / 한번 붙여보라고해서 붙였더니 다른 페이지에서도 페이지 패키지명을 포함안시키고 잘 찾아가내요. 이게 왜그런건가요 ? ㅠㅠ 

3
lbd4946@gmail.com 프로필

엔티티설계질문입니다. lbd4946@gmail.com 3일 전
강의 잘봤습니다!! 역시 꿀강의!!! 배운 것을 토대로 토이프로젝트를 간단하게 진행 해보려고 합니다. 그래서 팁좀 받을 수 있을까... 해서요!!! 요구사항은 이렇습니다. - 회원엔티티는 본인의 플레이리스트 엔티티를 조회한다. - 플레이리스트의 정보는 동영상 엔티티에 저장되어 있다. - 회원은 본인의 플레이리스트 목록을 삭제할 수 있다. - 회원은 본인의 플레이리스트 중 가장많이 들은 곡 리스트를 조회할 수 있다. -  모든 사용자는 동영상 엔티티에 있는 모든 곡 중 가장 많이 들은 곡 리스트를 조회할 수 있다. 위와 같은 결과로 아래와 같이 설계하였습니다. 가능하시다면 피드백 가능할까요 ㅜ.ㅜ @Entitypublic class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; @OneToMany(mappedBy = "member") private List<PlayList> playList = new ArrayList<>();} @Entitypublic class Video { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; @Column(name = "video_no") private String videoNo; private String image; private int count; // 재생 횟수} @Entitypublic class PlayList { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private int count; // 재생 수 @ManyToOne @JoinColumn(name = "member_id") private Member member; @ManyToOne @JoinColumn(name = "video_id") private Video video;}

3
Faust 프로필

Junit5 이용했을 시 재고수량초과 테스트코드 작성방법입니다 Faust 4일 전
@Testpublic void 상품주문_재고수량초과() throws Exception{ //given Member member = createMember(); Item item = createBook("시골 JPA", 10000, 10); int orderCount = 11; //when //then NotEnoughStockException ex = assertThrows(NotEnoughStockException.class, () -> { orderService.order(member.getId(), item.getId(), orderCount); }); assertEquals(ex.getMessage(), "need more Stock");}

1
lbd4946@gmail.com 프로필

강의자료 저작권 질문입니다! lbd4946@gmail.com 4일 전
블로그에 정리 하려고하는데 강의자료를 캡쳐해서 사용해도 되나요? 출처를 남겨야 한다면 링크를 어디로 남겨야 하나요? --- 강의자료를 깃헙에 올리고 싶은데 가능할까요?

1
Jong Hee Park 프로필

th:field가 자동완성에 안뜨는데 이럴땐 뭘 추가해줘야 하나요? Jong Hee Park 4일 전
th:errors도 그러내요

2
loosie 358 프로필

다대다 관계 매핑 설계에 대해 질문드립니다! loosie 358 6일 전
안녕하세요! 좋은 강의 찍어주셔서 정말 감사드립니다! 다름이아니라 선생님 말대로 테이블 설계를 하는 도중에 질문을 드립니다!  ex) 아티스트가 여러개의 장르를 다룰 수 있는다고 할 경우 (A 테이블: 아티스트 , B 테이블 : 장르, C:  아티스트_장르) A : B 가 M:N관계를 갖고 있어서  중간에 C라는 테이블을 자동으로 빠지게 해서  설계를 하려고 합니다 이때 C 테이블을 artist_id  genre_id 1                      1 1                      2 2                      1 2                      2 이런식으로 pk 없이 A와 B의 pk를 fk로만 받아와서 설계를 진행해도 괜찮을까요?

1
김승우 프로필

7:25 에서 따라서 application을 실행했을 때 멈추는 현상이 있습니다. 김승우 6일 전
안녕하세요. 늘 유익한 강의 덕분에 도움 많이 받고있습니다. 감사합니다. 다름이 아니라, 김영한님의 강의를 따라서 똑같이 클론 코딩을 하면서 따라가고 있었는데, main application을 실행하면 아래 상태에서 멈추어버립니다. 구글링을 해보아도 이와 같은 현상의 원인에 대해서 찾기가 힘들어 질문해봅니다. "coping TypeConfiguration"에서 실행이 멈추어버리는 이유가 무엇이 있을까요?

2
ijeee 프로필

Member 테이블이 생성되지 않습니다.. ijeee 6일 전
Member 테이블이 생성되지 않습니다.. 21:59:04.275 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class jpabook.jpashop.MemberRepositoryTest] 21:59:04.279 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 21:59:04.288 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 21:59:04.307 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [jpabook.jpashop.MemberRepositoryTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 21:59:04.324 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [jpabook.jpashop.MemberRepositoryTest], using SpringBootContextLoader 21:59:04.328 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.jpashop.MemberRepositoryTest]: class path resource [jpabook/jpashop/MemberRepositoryTest-context.xml] does not exist 21:59:04.328 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.jpashop.MemberRepositoryTest]: class path resource [jpabook/jpashop/MemberRepositoryTestContext.groovy] does not exist 21:59:04.328 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [jpabook.jpashop.MemberRepositoryTest]: no resource found for suffixes {-context.xml, Context.groovy}. 21:59:04.329 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [jpabook.jpashop.MemberRepositoryTest]: MemberRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 21:59:04.379 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.471 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [E:\공부\JPA\jpa_활용_1\project\jpashop\out\production\classes\jpabook\jpashop\JpashopApplication.class] 21:59:04.477 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.MemberRepositoryTest 21:59:04.641 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [jpabook.jpashop.MemberRepositoryTest]: using defaults. 21:59:04.642 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] 21:59:04.657 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@35a3d49f, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@389b0789, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@13d9cbf5, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@478db956, org.springframework.test.context.support.DirtiesContextTestExecutionListener@6ca18a14, org.springframework.test.context.transaction.TransactionalTestExecutionListener@c667f46, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@51bd8b5c, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@7b50df34, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@1b410b60, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@2462cb01, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@19b843ba, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@64ec96c6] 21:59:04.659 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.660 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.668 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.668 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.669 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.670 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.670 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.670 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.674 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@463fd068 testClass = MemberRepositoryTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@895e367 testClass = MemberRepositoryTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@34e9fd99, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6a6cb05c, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@22ff4249, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@662ac478], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null]. 21:59:04.675 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.675 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.MemberRepositoryTest] 21:59:04.697 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}   .   ____          _            __ _ _  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )   '  |____| .__|_| |_|_| |_\__, | / / / /  =========|_|==============|___/=/_/_/_/  :: Spring Boot ::       (v2.1.17.RELEASE) 2020-10-15 21:59:05.202  INFO 30540 --- [           main] jpabook.jpashop.MemberRepositoryTest     : Starting MemberRepositoryTest on DESKTOP-J3IVAOF with PID 30540 (started by jeng8 in E:\공부\JPA\jpa_활용_1\project\jpashop) 2020-10-15 21:59:05.208  INFO 30540 --- [           main] jpabook.jpashop.MemberRepositoryTest     : No active profile set, falling back to default profiles: default 2020-10-15 21:59:06.431  INFO 30540 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2020-10-15 21:59:06.454  INFO 30540 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 14ms. Found 0 JPA repository interfaces. 2020-10-15 21:59:07.165  INFO 30540 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting... 2020-10-15 21:59:07.365  INFO 30540 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed. 2020-10-15 21:59:07.482  INFO 30540 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [ name: default ...] 2020-10-15 21:59:07.584  INFO 30540 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.18.Final} 2020-10-15 21:59:07.586  INFO 30540 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found 2020-10-15 21:59:07.764  INFO 30540 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final} 2020-10-15 21:59:08.366  INFO 30540 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2020-10-15 21:59:08.961 DEBUG 30540 --- [           main] org.hibernate.SQL                        :           drop table member if exists 2020-10-15 21:59:08.963 DEBUG 30540 --- [           main] org.hibernate.SQL                        :           drop sequence if exists hibernate_sequence 2020-10-15 21:59:08.965 DEBUG 30540 --- [           main] org.hibernate.SQL                        : create sequence hibernate_sequence start with 1 increment by 1 2020-10-15 21:59:08.967 DEBUG 30540 --- [           main] org.hibernate.SQL                        :           create table member (        id bigint not null,         username varchar(255),         primary key (id)     ) 2020-10-15 21:59:08.974  INFO 30540 --- [           main] o.h.t.schema.internal.SchemaCreatorImpl  : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@4b9f7edc' 2020-10-15 21:59:08.976  INFO 30540 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2020-10-15 21:59:09.643  INFO 30540 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor' 2020-10-15 21:59:09.698  WARN 30540 --- [           main] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2020-10-15 21:59:09.744  INFO 30540 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html] 2020-10-15 21:59:10.111  INFO 30540 --- [           main] jpabook.jpashop.MemberRepositoryTest     : Started MemberRepositoryTest in 5.403 seconds (JVM running for 6.585) 2020-10-15 21:59:10.212  INFO 30540 --- [           main] o.s.t.c.transaction.TransactionContext   : Began transaction (1) for test context [DefaultTestContext@463fd068 testClass = MemberRepositoryTest, testInstance = jpabook.jpashop.MemberRepositoryTest@6d5de79a, testMethod = testMemeber@MemberRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@895e367 testClass = MemberRepositoryTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@34e9fd99, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6a6cb05c, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@22ff4249, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@662ac478], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@749ee0e3]; rollback [false] 2020-10-15 21:59:10.294 DEBUG 30540 --- [           main] org.hibernate.SQL                        :      call next value for hibernate_sequence 2020-10-15 21:59:10.367 DEBUG 30540 --- [           main] org.hibernate.SQL                        :      insert      into         member         (username, id)      values         (?, ?) 2020-10-15 21:59:10.375  INFO 30540 --- [           main] o.s.t.c.transaction.TransactionContext   : Committed transaction for test: [DefaultTestContext@463fd068 testClass = MemberRepositoryTest, testInstance = jpabook.jpashop.MemberRepositoryTest@6d5de79a, testMethod = testMemeber@MemberRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@895e367 testClass = MemberRepositoryTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@34e9fd99, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6a6cb05c, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@22ff4249, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@662ac478], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true]] 2020-10-15 21:59:10.383  INFO 30540 --- [       Thread-1] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor' 2020-10-15 21:59:10.383  INFO 30540 --- [       Thread-1] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2020-10-15 21:59:10.386  INFO 30540 --- [       Thread-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated... 2020-10-15 21:59:10.395  INFO 30540 --- [       Thread-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed. Process finished with exit code 0

4
Nam 프로필

컬렉션은 필드에서 초기화 하자 뜻을 자세히 이해 못했습니다... Nam 6일 전
em.persist(member); 이후 하이버네이트의 내장 컬렉션으로 변경하는건 이해했습니다. 필드레벨에서만 생성한다는 것은 필드 레벨에서 객체 선언만할 뿐 메서드를 사용하면 안 된다. 제가 이해 한게 맞나요....ㅜㅜㅜ  필드 레벨은 영속화가 이루어지는 파일을 뜻하는게 맞나요..? 쉬운 내용인데 귀찮게 해드리는 거 같아 죄송합니다ㅠㅠㅠ

4
Nam 프로필

원초적인게 궁금합니다 Nam 6일 전
1. em.find(Member.class, id) 부분에서 Member.class는 Member 클래스 자체를 반환하는 건가요?? 2.    member 객체에 username만 저장된 상태애서 save메서드를 실행시킴으로써 id가 반환되고 반환된 id로 find메서드를 통해 findMember 객체에 id에 해당되는 정보를 넘겨줍니다. 제가 이해한게 맞나요??

1
rlarhkr81 프로필

강의자료 pdf 확인 부탁드립니다 rlarhkr81 7일 전
https://www.inflearn.com/questions/32859 여기 질문과 동일한 내용이고 orderList.html을 복사 해서 붙여 넣었을 때 에러가 발생합니다 띄어쓰기가 한칸있게 복사가 되네요.. pdf 수정이 필요한 내용이 아닐런지 싶어서 질문드립니다~ ( 좋은 강의 찍어주셔서 감사합니다! 너무 재밌고 알차게 들었습니다 ㅎㅎ)

2
lbd4946@gmail.com 프로필

@ModelAttribute lbd4946@gmail.com 7일 전
안녕하세요! // @PostMapping(value = "/items/edit") @PostMapping(value = "/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form) { Book book = new Book(); book.setId(form.getId()); book.setName(form.getName()); 1. @ModelAttribute를 안붙여도 되는데 강사님은 왜 붙이신건지 알고 싶습니다!! 2.  url에 itemId가 form으로 넘어오는 상황인데 이때 url에서 itemId를 빼는 것이 더 올바른 건가요? 아니면 강사님 처럼 사용은 하지 않아도 관례상 넣어줘야 하나요?

3
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스