package com.eactive.eai.rms.data.entity.onl.stdmessage;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Comment;

import com.eactive.eai.data.entity.AbstractEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;

@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)

@Entity
@Table(name = "tseaihs03")
@org.hibernate.annotations.Table(appliesTo = "tseaihs03", comment = "내부 표준 메세지 확장 컬럼 정의")
public class ExtendedColumnDefinition extends AbstractEntity<String> implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique = true, nullable = false, length = 50)
	@Comment("컬럼명")
	private String columnName;

	@Column(length = 200)
	@Comment("기본값")
	private String columnDefault;

	@Column(length = 400)
	@Comment("컬럼 설명")
	private String columnDesc;

	private int columnLength;

	private int comboDepth;

	@Column(length = 40)
	private String comboName;

	@Column(length = 1)
	private String isInterface;

	@Column(length = 1)
	@Comment("키 컬럼 여부")
	private String isKey;

	private int keySeq;

	private int orderSeq;

	@Override
	public @NonNull String getId() {
		return columnName;
	}

}