inflearn logo
강의

Course

Instructor

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

Enter sample data for query

초기화가 안되요ㅜㅜ

Resolved

574

issiscv462218

27 asked

0

안녕하세요!

강의를 다 듣고 복습하다가 다시 진행하려고 init 패키지를 지운 이후 컴파일 시 초기화가 되지 않습니다.

어떠한 insert 쿼리가 나가지 않습니다.

선생님의 강의자료를 복붙해도 똑같이 초기화가 진행되지 않습니다. 하지만 이전 프로젝트에서는 잘 돌아갑니다.

혹시 초기화 하는데 있어서 어떤 설정을 잘못한걸까여?

package com.work.init;

import com.work.flow.domain.*;
import com.work.flow.domain.item.Book;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.PostConstruct;
import javax.persistence.EntityManager;

@Component
@RequiredArgsConstructor
public class InitDb {
private final InitService initService;
@PostConstruct
public void init() {
initService.dbInit1();
initService.dbInit2();
}
@Component
@Transactional
@RequiredArgsConstructor
static class InitService {
private final EntityManager em;
public void dbInit1() {
Member member = createMember("userA", "서울", "1", "1111");
em.persist(member);
Book book1 = createBook("JPA1 BOOK", 10000, 100);
em.persist(book1);
Book book2 = createBook("JPA2 BOOK", 20000, 100);
em.persist(book2);
OrderItem orderItem1 = OrderItem.createOrderItem(book1, 10000, 1);
OrderItem orderItem2 = OrderItem.createOrderItem(book2, 20000, 2);
Order order = Order.createOrder(member, createDelivery(member),
orderItem1, orderItem2);
em.persist(order);
}
public void dbInit2() {
Member member = createMember("userB", "진주", "2", "2222");
em.persist(member);
Book book1 = createBook("SPRING1 BOOK", 20000, 200);
em.persist(book1);
Book book2 = createBook("SPRING2 BOOK", 40000, 300);
em.persist(book2);
Delivery delivery = createDelivery(member);
OrderItem orderItem1 = OrderItem.createOrderItem(book1, 20000, 3);
OrderItem orderItem2 = OrderItem.createOrderItem(book2, 40000, 4);
Order order = Order.createOrder(member, delivery, orderItem1,
orderItem2);
em.persist(order);
}
private Member createMember(String name, String city, String street,
String zipcode) {
Member member = new Member();
member.setName(name);
member.setAddress(new Address(city, street, zipcode));
return member;
}
private Book createBook(String name, int price, int stockQuantity) {
Book book = new Book();
book.setName(name);
book.setPrice(price);
book.setStockQuantity(stockQuantity);
return book;
}
private Delivery createDelivery(Member member) {
Delivery delivery = new Delivery();
delivery.setAddress(member.getAddress());
return delivery;
}
}
}

위의 코드는 강의자료의 코드들입니다. 

초기화 java JPA spring spring-boot

Answer 4

1

OMG

실행이 안되서 

application.properties 열어보니 mysql이라 깜짝 놀랬네요.

우선 저는 H2 DB로 테스트 했습니다만, mysql로 하셔도 기존에 제대로 동작했었다면 문제 없을거라 봅니다.

아래와 같이 init directory의 위치를 옮겨주세요.

두번째 이미지의 실행 결과에서도 확인 가능하시다시피  initdb가 적용되어 값이 들어가 있고, insert 쿼리가 나가는 것을 확인하실 수 있으십니다.

1

OMG

안녕하세요. 김상운님, 공식 서포터즈 OMG입니다.

문제가 발생하는 프로젝트(전체 코드)를 구글 드라이브로 공유 해주세요.

문제 해결에 도움 드리겠습니다.


감사합니다.

0

issiscv462218

감사합니다..ㅠㅡㅠ 경로가 잘못되었군여,, 그러니 스캔을 못하지..

0

OMG

맞습니다 ㅎㅎ

0

issiscv462218

https://drive.google.com/drive/folders/1XCcEoKjVyfPng9xAh_OHPGHk5e9sKgcH?usp=sharing

여기 있습니다!ㅎㅎ initDb의 초기화, @PostConstrucotor가 안먹힙니다.

강의 관련 외 질문입니다.

0

65

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

0

86

1

BeanCreationException

0

86

3

Update 후 UpdateMemberResponse 매핑할 때

0

46

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

98

2

페이징 + 검색조건 관련해서 질문드립니다.

0

70

1

Query Dsl Q파일 질문입니다.

0

81

1

루트 쿼리라는것은

0

58

1

메서드를 분리하는 기준

0

62

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

108

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

83

2

fetch join과 영속화와 OSIV의 관계

0

84

2

Distinct 사용 전 결과에 대한 의문

0

113

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

56

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

78

2

dto 필드 속 엔티티 여부

0

58

1

뷰템플릿 사용 시

0

76

2

Result 클래스 관련 질문

0

56

1

@PostConstruct 프록시 관련 질문드립니다

0

85

1

DTO 대신 Form 사용은 안되나요?

0

133

1

OSIV ON 상태일 때

0

95

1

fetch join VS fetch join 페이징 궁금증

0

179

2

양방향 연관관계 알아보는 법?

0

104

1

16강 17강 간단 정리 이게 맞을까요 ?

0

165

2