Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
settlement-domain-modeling-design
✅ 1. 주문(Orders) 도메인 생성
Orders.java
package com.batch.settlement.domain;
@Entity
@Getter
@NoArgsConstructor
@ToString
public class Orders {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String customerName; // 주문자명
private String storeName; // 가맹점명
private Integer amount; // 주문금액
private LocalDate orderDate; // 주문 일자 (YYYY-MM-DD)
public Orders(Long id, String customerName, String storeName, Integer amount, LocalDate orderDate) {
this.id = id;
this.customerName = customerName;
this.storeName = storeName;
this.amount = amount;
this.orderDate = orderDate;
}
}
👩💼
해당 도메인을 ‘ORDER’ 로 생성하지 않게 주의해주세요! JPA를 통해 테이블을 자동으로 생성 할 때 ORDER 테이블은 데이터 베이스 예약어 order by와 중복되어, 해당 이름으로는 테이블이 생성되지 않습니다. 반드시 ‘ORDERS’로 도메인을 설계해주세요!
✅ 2. 정산(Settlement) 도메인 생성
Settlement.java
package com.batch.settlement.domain;
@Entity
@Getter
@NoArgsConstructor
public class Settlement {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long orderId; // 주문 번호
private String storeName; // 가맹점명
private Integer settlementAmount; // 정산금액(수수료 제외)
private LocalDate settlementDate; // 정산 처리일
public Settlement(Long orderId, String storeName, Integer settlementAmount, LocalDate settlementDate) {
this.orderId = orderId;
this.storeName = storeName;
this.settlementAmount = settlementAmount;
this.settlementDate = settlementDate;
}
}
✅ 3. 테이블 생성 확인