ProductDetail 엔티티
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString(exclude = "product")
@Builder
@Entity
@Table(name = "ProductDetails")
public class ProductDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int no; // 고유 식별자 (PK)
private String receiptType; // 영수증 유형
@OneToOne
@JoinColumn(name = "prodNo") // 외래키: Product의 prodNo와 매핑
private Product product; // 1:1 연관된 상품
private String prodState; // 상품 상태 (예: 새상품, 중고 등)
private String taxFree; // 면세 여부 ("Y"/"N" 혹은 상세 문자열)
private String bizType; // 사업자 유형 (예: 개인, 법인)
private String origin; // 원산지 (제조 국가 등)
// 옵션 1
private String opt1; // 옵션 종류 이름 (예: 색상)
private String opt1Cont; // 옵션 선택지(콤마 구분)
// 옵션 2
private String opt2;
private String opt2Cont;
// 옵션 3
private String opt3;
private String opt3Cont;
// 옵션 4
private String opt4;
private String opt4Cont;
// 옵션 5
private String opt5;
private String opt5Cont;
// 옵션 6
private String opt6;
private String opt6Cont;
}
설명
no
receiptType
product (@OneToOne)
Product 엔티티와 1:1 매핑. prodNo를 외래키로 참조
prodState
taxFree
bizType
origin
- 옵션 필드 (
opt1 \~ opt6)
optN: 옵션명 (예: 색상, 사이즈)
optNCont: 해당 옵션의 선택지 목록(콤마로 구분된 문자열)