jpashop : create sample data
This commit is contained in:
95
jpashop/src/main/java/com/example/jpashop/InitDB.java
Normal file
95
jpashop/src/main/java/com/example/jpashop/InitDB.java
Normal file
@@ -0,0 +1,95 @@
|
||||
package com.example.jpashop;
|
||||
|
||||
import com.example.jpashop.domain.*;
|
||||
import com.example.jpashop.domain.item.Book;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
/**
|
||||
* userA
|
||||
* JPA1 BOOK
|
||||
* JPA2 BOOK
|
||||
* userB
|
||||
* SPRING1 BOOK
|
||||
* SPRING2 BOOK
|
||||
*/
|
||||
@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", "서울","거리", "11112");
|
||||
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);
|
||||
|
||||
Delivery delivery = createDelivery(member);
|
||||
Order order = Order.createOrder(member, delivery, orderItem1, orderItem2);
|
||||
em.persist(order);
|
||||
}
|
||||
|
||||
public void dbInit2() {
|
||||
Member member = createMember("userB", "부산","거리", "32144");
|
||||
em.persist(member);
|
||||
|
||||
Book book1 = createBook("SPRING1 BOOK", 20000, 200);
|
||||
em.persist(book1);
|
||||
|
||||
Book book2 = createBook("SPRING2 BOOK", 40000, 300);
|
||||
em.persist(book2);
|
||||
|
||||
OrderItem orderItem1 = OrderItem.createOrderItem(book1, 20000, 3);
|
||||
OrderItem orderItem2 = OrderItem.createOrderItem(book2, 40000, 4);
|
||||
|
||||
Delivery delivery = createDelivery(member);
|
||||
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 book1 = new Book();
|
||||
book1.setName(name);
|
||||
book1.setPrice(price);
|
||||
book1.setStockQuantity(stockQuantity);
|
||||
return book1;
|
||||
}
|
||||
private Delivery createDelivery(Member member) {
|
||||
Delivery delivery = new Delivery();
|
||||
delivery.setAddress(member.getAddress());
|
||||
return delivery;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ spring:
|
||||
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: none
|
||||
ddl-auto: create
|
||||
properties:
|
||||
hibernate:
|
||||
# show_sql: true
|
||||
|
||||
Reference in New Issue
Block a user