ProductImage 엔티티


@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString(exclude = "product")
@Builder
@Entity
@Table(name = "ProductImage")
public class ProductImage {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int ino;              // 고유 이미지 ID (PK)

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "prodNo", nullable = false) // Product의 prodNo를 FK로 참조
    private Product product;      // 1:1 매핑된 상품

    // 목록용 이미지
    private String oNameList;     // 원본 파일명 (List view)
    private String sNameList;     // 썸네일 파일명 (List view)

    // 메인 이미지
    private String oNameMain;     // 원본 파일명 (Main view)
    private String sNameMain;     // 썸네일 파일명 (Main view)

    // 상세 이미지
    private String oNameDetail;   // 원본 파일명 (Detail view)
    private String sNameDetail;   // 썸네일 파일명 (Detail view)

    // 추가 썸네일(예: 3단계 축소)
    private String oNameThumb3;   // 원본 파일명 (Thumbnail 단계 3)
    private String sNameThumb3;   // 썸네일 파일명 (Thumbnail 단계 3)

    @CreationTimestamp
    private LocalDateTime rdate;  // 이미지 등록일시
}

설명