diff --git a/src/main/java/com/programmers/springbootjpa/controller/CustomerController.java b/src/main/java/com/programmers/springbootjpa/controller/CustomerController.java index c25708b19..35be9648a 100644 --- a/src/main/java/com/programmers/springbootjpa/controller/CustomerController.java +++ b/src/main/java/com/programmers/springbootjpa/controller/CustomerController.java @@ -8,7 +8,6 @@ import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; @@ -16,6 +15,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; @@ -27,37 +27,32 @@ public class CustomerController { private final CustomerService customerService; @PostMapping - public ResponseEntity createCustomer(@Valid @RequestBody CustomerCreateRequest customerCreateRequest) { - customerService.createCustomer(customerCreateRequest); - - return ResponseEntity.status(HttpStatus.CREATED).body(null); + @ResponseStatus(HttpStatus.CREATED) + public void create(@Valid @RequestBody CustomerCreateRequest customerCreateRequest) { + customerService.create(customerCreateRequest); } @GetMapping("/{id}") - public ResponseEntity readCustomer(@PathVariable Long id) { - CustomerResponse customerResponse = customerService.readCustomer(id); - - return ResponseEntity.ok(customerResponse); + @ResponseStatus(HttpStatus.OK) + public CustomerResponse readById(@PathVariable Long id) { + return customerService.readById(id); } @GetMapping - public ResponseEntity> readAllCustomer() { - List customerResponses = customerService.readAllCustomer(); - - return ResponseEntity.ok(customerResponses); + @ResponseStatus(HttpStatus.OK) + public List readAll() { + return customerService.readAll(); } - @PatchMapping - public ResponseEntity updateCustomer(@Valid @RequestBody CustomerUpdateRequest customerUpdateRequest) { - customerService.updateCustomer(customerUpdateRequest); - - return ResponseEntity.ok(null); + @PatchMapping("/{id}") + @ResponseStatus(HttpStatus.OK) + public void updateById(@PathVariable Long id, @Valid @RequestBody CustomerUpdateRequest customerUpdateRequest) { + customerService.updateById(id, customerUpdateRequest); } @DeleteMapping("/{id}") - public ResponseEntity deleteCustomer(@PathVariable Long id) { - customerService.deleteCustomer(id); - - return ResponseEntity.noContent().build(); + @ResponseStatus(HttpStatus.NO_CONTENT) + public void deleteById(@PathVariable Long id) { + customerService.deleteById(id); } } diff --git a/src/main/java/com/programmers/springbootjpa/domain/Address.java b/src/main/java/com/programmers/springbootjpa/domain/customer/Address.java similarity index 92% rename from src/main/java/com/programmers/springbootjpa/domain/Address.java rename to src/main/java/com/programmers/springbootjpa/domain/customer/Address.java index 47b087c2b..61a7ea75b 100644 --- a/src/main/java/com/programmers/springbootjpa/domain/Address.java +++ b/src/main/java/com/programmers/springbootjpa/domain/customer/Address.java @@ -1,4 +1,4 @@ -package com.programmers.springbootjpa.domain; +package com.programmers.springbootjpa.domain.customer; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -13,8 +13,10 @@ public class Address { @Column(name = "street_address", nullable = false) private String streetAddress; + @Column(name = "detailed_address", nullable = false) private String detailedAddress; + @Column(name = "zip_code", nullable = false) private Integer zipCode; diff --git a/src/main/java/com/programmers/springbootjpa/domain/Customer.java b/src/main/java/com/programmers/springbootjpa/domain/customer/Customer.java similarity index 63% rename from src/main/java/com/programmers/springbootjpa/domain/Customer.java rename to src/main/java/com/programmers/springbootjpa/domain/customer/Customer.java index 9d2e9eaac..ea3b0a59c 100644 --- a/src/main/java/com/programmers/springbootjpa/domain/Customer.java +++ b/src/main/java/com/programmers/springbootjpa/domain/customer/Customer.java @@ -1,11 +1,16 @@ -package com.programmers.springbootjpa.domain; +package com.programmers.springbootjpa.domain.customer; +import com.programmers.springbootjpa.domain.order.Order; import jakarta.persistence.Column; import jakarta.persistence.Embedded; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; @@ -26,12 +31,15 @@ public class Customer { @Column(name = "age", nullable = false) private Integer age; - @Column(name = "nick_name", nullable = false) + @Column(name = "nick_name", nullable = false, unique = true, length = 20) private String nickName; @Embedded private Address address; + @OneToMany(mappedBy = "customer") + private List orders = new ArrayList<>(); + @Builder public Customer(String name, Integer age, String nickName, Address address) { this.name = name; @@ -40,6 +48,18 @@ public Customer(String name, Integer age, String nickName, Address address) { this.address = address; } + public List getOrders() { + return Collections.unmodifiableList(orders); + } + + public void add(Order order) { + this.orders.add(order); + } + + public void remove(Order order) { + this.orders.remove(order); + } + public void changeNickName(String nickName) { this.nickName = nickName; } diff --git a/src/main/java/com/programmers/springbootjpa/domain/item/Item.java b/src/main/java/com/programmers/springbootjpa/domain/item/Item.java new file mode 100644 index 000000000..ccbbc7c29 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/domain/item/Item.java @@ -0,0 +1,32 @@ +package com.programmers.springbootjpa.domain.item; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Table(name = "item") +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Item { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE) + private Long id; + private String name; + private Integer price; + private Integer stockQuantity; + + @Builder + public Item(String name, Integer price, Integer stockQuantity) { + this.name = name; + this.price = price; + this.stockQuantity = stockQuantity; + } +} diff --git a/src/main/java/com/programmers/springbootjpa/domain/order/Order.java b/src/main/java/com/programmers/springbootjpa/domain/order/Order.java new file mode 100644 index 000000000..66a847892 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/domain/order/Order.java @@ -0,0 +1,60 @@ +package com.programmers.springbootjpa.domain.order; + +import com.programmers.springbootjpa.domain.customer.Customer; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; +import java.time.LocalDateTime; +import java.util.Objects; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(name = "orders") +@Getter +public class Order { + + @Id + @Column(name = "id", nullable = false) + private String uuid; + + @Column(name = "order_datetime", columnDefinition = "TIMESTAMP", nullable = false) + private LocalDateTime orderDatetime; + + @Enumerated(EnumType.STRING) + @Column(name = "order_status", nullable = false) + private OrderStatus orderStatus; + + @Column(name = "memo", columnDefinition = "TEXT") + private String memo; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "customer_id", referencedColumnName = "id") + private Customer customer; + + @Builder + public Order(String uuid, LocalDateTime orderDatetime, OrderStatus orderStatus, String memo) { + this.uuid = uuid; + this.orderDatetime = orderDatetime; + this.orderStatus = orderStatus; + this.memo = memo; + } + + public void setCustomer(Customer customer) { + if (Objects.nonNull(this.customer)) { + this.customer.remove(this); + } + + this.customer = customer; + customer.add(this); + } +} diff --git a/src/main/java/com/programmers/springbootjpa/domain/order/OrderItem.java b/src/main/java/com/programmers/springbootjpa/domain/order/OrderItem.java new file mode 100644 index 000000000..dfb80d2d1 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/domain/order/OrderItem.java @@ -0,0 +1,46 @@ +package com.programmers.springbootjpa.domain.order; + +import com.programmers.springbootjpa.domain.item.Item; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Getter +@Table(name = "order_item") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class OrderItem { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE) + private Long id; + + private Integer price; + + private Integer quantity; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "order_id", referencedColumnName = "id") + private Order order; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "item_id", referencedColumnName = "id") + private Item item; + + @Builder + public OrderItem(Integer price, Integer quantity, Order order, Item item) { + this.price = price; + this.quantity = quantity; + this.order = order; + this.item = item; + } +} diff --git a/src/main/java/com/programmers/springbootjpa/domain/order/OrderStatus.java b/src/main/java/com/programmers/springbootjpa/domain/order/OrderStatus.java new file mode 100644 index 000000000..eb6885923 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/domain/order/OrderStatus.java @@ -0,0 +1,6 @@ +package com.programmers.springbootjpa.domain.order; + +public enum OrderStatus { + OPENED, + CANCELLED +} diff --git a/src/main/java/com/programmers/springbootjpa/dto/request/CustomerCreateRequest.java b/src/main/java/com/programmers/springbootjpa/dto/request/CustomerCreateRequest.java index 3616e09b0..3b5b6f893 100644 --- a/src/main/java/com/programmers/springbootjpa/dto/request/CustomerCreateRequest.java +++ b/src/main/java/com/programmers/springbootjpa/dto/request/CustomerCreateRequest.java @@ -1,7 +1,7 @@ package com.programmers.springbootjpa.dto.request; -import com.programmers.springbootjpa.domain.Address; -import com.programmers.springbootjpa.domain.Customer; +import com.programmers.springbootjpa.domain.customer.Address; +import com.programmers.springbootjpa.domain.customer.Customer; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; @@ -16,12 +16,15 @@ public class CustomerCreateRequest { @NotBlank(message = "이름은 공백이거나 값이 없으면 안됩니다.") private String name; + @Min(value = 1, message = "나이는 한살보다 많아야합니다.") - @Max(value = 100, message = "나이는 백살보다 적여야합니다.") + @Max(value = 100, message = "나이는 백살보다 적어야합니다.") @NotNull(message = "나이는 값이 없으면 안됩니다.") private Integer age; + @NotBlank(message = "닉네임은 공백이거나 값이 없으면 안됩니다.") private String nickName; + @NotNull(message = "주소값은 없을 수 없습니다.") private Address address; diff --git a/src/main/java/com/programmers/springbootjpa/dto/request/CustomerUpdateRequest.java b/src/main/java/com/programmers/springbootjpa/dto/request/CustomerUpdateRequest.java index db878de91..f6e85a921 100644 --- a/src/main/java/com/programmers/springbootjpa/dto/request/CustomerUpdateRequest.java +++ b/src/main/java/com/programmers/springbootjpa/dto/request/CustomerUpdateRequest.java @@ -1,9 +1,8 @@ package com.programmers.springbootjpa.dto.request; -import com.programmers.springbootjpa.domain.Address; +import com.programmers.springbootjpa.domain.customer.Address; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.PositiveOrZero; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; @@ -12,10 +11,9 @@ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class CustomerUpdateRequest { - @PositiveOrZero(message = "id값은 0이상 이어야합니다.") - private Long id; @NotBlank(message = "닉네임은 공백이거나 값이 없으면 안됩니다.") private String nickName; + @NotNull(message = "주소값은 없을 수 없습니다.") private Address address; diff --git a/src/main/java/com/programmers/springbootjpa/dto/response/CustomerResponse.java b/src/main/java/com/programmers/springbootjpa/dto/response/CustomerResponse.java index 53a2914e5..78a213b5f 100644 --- a/src/main/java/com/programmers/springbootjpa/dto/response/CustomerResponse.java +++ b/src/main/java/com/programmers/springbootjpa/dto/response/CustomerResponse.java @@ -1,7 +1,7 @@ package com.programmers.springbootjpa.dto.response; -import com.programmers.springbootjpa.domain.Address; -import com.programmers.springbootjpa.domain.Customer; +import com.programmers.springbootjpa.domain.customer.Address; +import com.programmers.springbootjpa.domain.customer.Customer; import lombok.Getter; @Getter diff --git a/src/main/java/com/programmers/springbootjpa/repository/CustomerRepository.java b/src/main/java/com/programmers/springbootjpa/repository/CustomerRepository.java index bf639bb3a..1678bc758 100644 --- a/src/main/java/com/programmers/springbootjpa/repository/CustomerRepository.java +++ b/src/main/java/com/programmers/springbootjpa/repository/CustomerRepository.java @@ -1,6 +1,6 @@ package com.programmers.springbootjpa.repository; -import com.programmers.springbootjpa.domain.Customer; +import com.programmers.springbootjpa.domain.customer.Customer; import org.springframework.data.jpa.repository.JpaRepository; public interface CustomerRepository extends JpaRepository { diff --git a/src/main/java/com/programmers/springbootjpa/repository/ItemRepository.java b/src/main/java/com/programmers/springbootjpa/repository/ItemRepository.java new file mode 100644 index 000000000..962dee840 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/repository/ItemRepository.java @@ -0,0 +1,8 @@ +package com.programmers.springbootjpa.repository; + +import com.programmers.springbootjpa.domain.item.Item; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ItemRepository extends JpaRepository { + +} diff --git a/src/main/java/com/programmers/springbootjpa/repository/OrderItemRepository.java b/src/main/java/com/programmers/springbootjpa/repository/OrderItemRepository.java new file mode 100644 index 000000000..6cf3db298 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/repository/OrderItemRepository.java @@ -0,0 +1,8 @@ +package com.programmers.springbootjpa.repository; + +import com.programmers.springbootjpa.domain.order.OrderItem; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface OrderItemRepository extends JpaRepository { + +} diff --git a/src/main/java/com/programmers/springbootjpa/repository/OrderRepository.java b/src/main/java/com/programmers/springbootjpa/repository/OrderRepository.java new file mode 100644 index 000000000..c9a95ea21 --- /dev/null +++ b/src/main/java/com/programmers/springbootjpa/repository/OrderRepository.java @@ -0,0 +1,8 @@ +package com.programmers.springbootjpa.repository; + +import com.programmers.springbootjpa.domain.order.Order; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface OrderRepository extends JpaRepository { + +} diff --git a/src/main/java/com/programmers/springbootjpa/service/CustomerService.java b/src/main/java/com/programmers/springbootjpa/service/CustomerService.java index 954c13447..8bc00068e 100644 --- a/src/main/java/com/programmers/springbootjpa/service/CustomerService.java +++ b/src/main/java/com/programmers/springbootjpa/service/CustomerService.java @@ -1,6 +1,6 @@ package com.programmers.springbootjpa.service; -import com.programmers.springbootjpa.domain.Customer; +import com.programmers.springbootjpa.domain.customer.Customer; import com.programmers.springbootjpa.dto.request.CustomerCreateRequest; import com.programmers.springbootjpa.dto.request.CustomerUpdateRequest; import com.programmers.springbootjpa.dto.response.CustomerResponse; @@ -19,7 +19,7 @@ public class CustomerService { private final CustomerRepository customerRepository; @Transactional - public void createCustomer(CustomerCreateRequest customerCreateRequest) { + public void create(CustomerCreateRequest customerCreateRequest) { Customer customer = Customer.builder() .name(customerCreateRequest.getName()) .age(customerCreateRequest.getAge()) @@ -30,7 +30,7 @@ public void createCustomer(CustomerCreateRequest customerCreateRequest) { customerRepository.save(customer); } - public List readAllCustomer() { + public List readAll() { List customers = customerRepository.findAll(); return customers.stream() @@ -38,7 +38,7 @@ public List readAllCustomer() { .toList(); } - public CustomerResponse readCustomer(Long id) { + public CustomerResponse readById(Long id) { Customer customer = customerRepository.findById(id) .orElseThrow(() -> new NoSuchElementException("찾는 사용자가 없습니다.")); @@ -46,8 +46,8 @@ public CustomerResponse readCustomer(Long id) { } @Transactional - public void updateCustomer(CustomerUpdateRequest customerUpdateRequest) { - Customer customer = customerRepository.findById(customerUpdateRequest.getId()) + public void updateById(Long id, CustomerUpdateRequest customerUpdateRequest) { + Customer customer = customerRepository.findById(id) .orElseThrow(() -> new NoSuchElementException("업데이트 할 사용자가 없습니다.")); customer.changeNickName(customerUpdateRequest.getNickName()); @@ -55,7 +55,7 @@ public void updateCustomer(CustomerUpdateRequest customerUpdateRequest) { } @Transactional - public void deleteCustomer(Long id) { + public void deleteById(Long id) { customerRepository.findById(id) .orElseThrow(() -> new NoSuchElementException("삭제할 사용자가 없습니다.")); diff --git a/src/test/java/com/programmers/springbootjpa/AssociationTest.java b/src/test/java/com/programmers/springbootjpa/AssociationTest.java new file mode 100644 index 000000000..b931a0d44 --- /dev/null +++ b/src/test/java/com/programmers/springbootjpa/AssociationTest.java @@ -0,0 +1,151 @@ +package com.programmers.springbootjpa; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.programmers.springbootjpa.domain.customer.Address; +import com.programmers.springbootjpa.domain.customer.Customer; +import com.programmers.springbootjpa.domain.item.Item; +import com.programmers.springbootjpa.domain.order.Order; +import com.programmers.springbootjpa.domain.order.OrderItem; +import com.programmers.springbootjpa.domain.order.OrderStatus; +import com.programmers.springbootjpa.repository.CustomerRepository; +import com.programmers.springbootjpa.repository.ItemRepository; +import com.programmers.springbootjpa.repository.OrderItemRepository; +import com.programmers.springbootjpa.repository.OrderRepository; +import java.time.LocalDateTime; +import java.util.UUID; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.transaction.annotation.Transactional; + +@SpringBootTest +@Transactional +@TestInstance(Lifecycle.PER_CLASS) +class AssociationTest { + + @Autowired + CustomerRepository customerRepository; + + @Autowired + ItemRepository itemRepository; + + @Autowired + OrderItemRepository orderItemRepository; + + @Autowired + OrderRepository orderRepository; + + private Customer customer; + private Order order; + + @BeforeEach + void beforeEach() { + customer = Customer.builder() + .name("hyunHo") + .nickName("changHyun") + .age(28) + .address(new Address("스터릿 어드레스", "디테일 어드레스", 10000)) + .build(); + + order = Order.builder() + .uuid(UUID.randomUUID().toString()) + .orderStatus(OrderStatus.OPENED) + .orderDatetime(LocalDateTime.now()) + .memo("메모1") + .build(); + + order.setCustomer(customer); + } + + @Test + @DisplayName("고객을 통해 주문 리스트를 조회할 수 있다.") + void getOrdersByCustomer() { + Order order1 = Order.builder() + .uuid(UUID.randomUUID().toString()) + .orderStatus(OrderStatus.OPENED) + .orderDatetime(LocalDateTime.now()) + .memo("메모1") + .build(); + + order1.setCustomer(customer); + + Order order2 = Order.builder() + .uuid(UUID.randomUUID().toString()) + .orderStatus(OrderStatus.OPENED) + .orderDatetime(LocalDateTime.now()) + .memo("메모2") + .build(); + + order2.setCustomer(customer); + + Customer savedCustomer = customerRepository.save(customer); + Order savedOrder1 = orderRepository.save(order1); + Order savedOrder2 = orderRepository.save(order2); + + assertThat(savedOrder1.getMemo()).isEqualTo(savedCustomer.getOrders().get(1).getMemo()); + assertThat(savedOrder2.getMemo()).isEqualTo(savedCustomer.getOrders().get(2).getMemo()); + } + + @Test + @DisplayName("주문에서 고객을 조회할 수 있다.") + void getCustomerByOrder() { + Customer savedCustomer = customerRepository.save(customer); + Order savedOrder = orderRepository.save(order); + + assertThat(savedCustomer.getNickName()).isEqualTo(savedOrder.getCustomer().getNickName()); + } + + @Test + @DisplayName("주문 아이템에서 주문을 조회할 수 있다.") + void getOrderByOrderItem() { + Item item = Item.builder() + .name("매운갈비찜") + .price(3000) + .stockQuantity(10) + .build(); + + OrderItem orderItem = OrderItem.builder() + .quantity(3) + .price(9000) + .item(item) + .order(order) + .build(); + + Customer savedCustomer = customerRepository.save(customer); + Order savedOrder = orderRepository.save(order); + Item savedItem = itemRepository.save(item); + OrderItem savedOrderItem = orderItemRepository.save(orderItem); + + assertThat(savedOrder.getUuid()).isEqualTo(savedOrderItem.getOrder().getUuid()); + } + + + @Test + @DisplayName("주문 아이템에서 아이템을 조회할 수 있다.") + void getItemByOrderItem() { + Item item = Item.builder() + .name("매운갈비찜") + .price(3000) + .stockQuantity(10) + .build(); + + OrderItem orderItem = OrderItem.builder() + .quantity(3) + .price(9000) + .item(item) + .order(order) + .build(); + + Customer savedCustomer = customerRepository.save(customer); + Order savedOrder = orderRepository.save(order); + Item savedItem = itemRepository.save(item); + OrderItem savedOrderItem = orderItemRepository.save(orderItem); + + assertThat(savedItem.getName()).isEqualTo(savedOrderItem.getItem().getName()); + } +} diff --git a/src/test/java/com/programmers/springbootjpa/PersistenceContextTest.java b/src/test/java/com/programmers/springbootjpa/PersistenceContextTest.java index a0de5a140..07046a426 100644 --- a/src/test/java/com/programmers/springbootjpa/PersistenceContextTest.java +++ b/src/test/java/com/programmers/springbootjpa/PersistenceContextTest.java @@ -2,8 +2,8 @@ import static org.assertj.core.api.Assertions.assertThat; -import com.programmers.springbootjpa.domain.Address; -import com.programmers.springbootjpa.domain.Customer; +import com.programmers.springbootjpa.domain.customer.Address; +import com.programmers.springbootjpa.domain.customer.Customer; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; @@ -13,11 +13,11 @@ import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest -public class PersistenceContextTest { +class PersistenceContextTest { @Autowired EntityManagerFactory entityManagerFactory; - + @Test @DisplayName("고객을 영속 상태로 만들 수 있다.") void persistCustomer() {