package io.delphiplatform.api.v3.rdb.entity;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import lombok.Getter;
import lombok.Setter;

@Entity(name = "configuration")
@Getter
@Setter
public class ConfigurationEntity extends TrackedEntity {

    @Id
    private String configKey;
    private String configName;
    private String configShortName;
    private String conditionDescription;
    private Integer noOfSides;
    private String upcConfigCode;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "generates_config_key")
    private ConfigurationEntity generatesConfig;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "config_cat_key")
    private ConfigurationCategoryEntity configurationCategory;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "media_type_key", nullable = false)
    private MediaTypeEntity mediaType;

}
