@Entity
@Table(name = "site", schema="painelweb")
public class Site implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "st_id")
private Integer stId;
//Cada site tem apenas um tipo
//Lista deve carregar na hora
//Join mostra qual são os campos relacionados
@ManyToOne
@JoinColumn(name = "st_tipo" , referencedColumnName = "sp_id")
private SiteTipo siteTipo;
//Cada site tem apenas um cartótio
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "st_cartorio" , referencedColumnName = "ca_id")
private Cartorio cartorio;
//Cada site pode ter uma lista de info Site
@OneToMany(mappedBy = "ifSites" , cascade = CascadeType.ALL , fetch = FetchType.LAZY)
private List<SiteInfo> stInfoSite;
@OneToMany(mappedBy = "shSite" , cascade = CascadeType.ALL , fetch = FetchType.LAZY)
//@OneToMany(mappedBy = "shSite" , cascade = CascadeType.REFRESH , fetch = FetchType.LAZY)
private List<SiteHistorico> stSiteHistorico;
//Evitar usar essa lista.
@OneToMany(mappedBy = "slSite" ,cascade = CascadeType.ALL , fetch = FetchType.LAZY)
private List<SiteLog> stSiteLogs;
@Column(name = "st_link")
private String stLink;
@Column(name = "st_ativo")
private boolean stAtivo;