package com.dbnt.faisp.main.publicBoard.model;

import com.dbnt.faisp.config.FileInfo;
import lombok.*;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;

@Getter
@Setter
@Entity
@NoArgsConstructor
@DynamicInsert
@DynamicUpdate
@Table(name = "public_file")
@IdClass(PublicFile.PublicFileId.class)
public class PublicFile extends FileInfo {
  @Id
  @Column(name = "public_key")
  private Integer publicKey;
  @Id
  @Column(name = "file_seq")
  private Integer fileSeq;
  @Column(name = "orig_nm")
  private String origNm;
  @Column(name = "conv_nm")
  private String convNm;
  @Column(name = "file_extn")
  private String fileExtn;
  @Column(name = "file_size")
  private String fileSize;
  @Column(name = "save_path")
  private String savePath;


  @Embeddable
  @Data
  @NoArgsConstructor
  @AllArgsConstructor
  public static class PublicFileId implements Serializable {
    private Integer publicKey;
    private Integer fileSeq;
  }

}
