package #[pacoteEntity];

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Filter;
import org.hibernate.envers.Audited;

import com.arch.constant.Constant;
import com.arch.crud.entity.CrudMultiTenantEntity;

#[importMestreEntity]
#[importEntityMestreDetalhe]

#[anotacaoSigilo]
#[anotacaoClasseExclusaoLogica]
@Audited 
@Table(name = "#[nomeTabelaMestre]")
@Entity(name = "#[nomeSemCaracterEspecialMinusculo]")
@SequenceGenerator(name = "#[nomeSemCaracterEspecial]IdSequence", sequenceName = "#[nomeSequenceMestre]", allocationSize = 1)
public class #[nomeSemCaracterEspecial]Entity extends CrudMultiTenantEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "#[nomeSemCaracterEspecial]IdSequence")
    @Column(name = "#[nomeIdMestre]")
    private Long id;

    #[declaracaoAtributoEntidadeMestre]    
    
    @Override
    public Long getId() {
        return id;
    }

    @Override    
    public void setId(Long id) {
        this.id = id;
    }

    #[declaracaoGetSetEntidadeMestre]
    
    #[declaracaoGetsEnums]
}
