Boa tarde…
Estou desenvolvendo uma aplicação com Hibernate Annotations e me deparei com a seguinte situação:
Tenha minha tabela ESTADO:
Campos
EST_UF varchar(2) PK
EST_PAI_CODIGO integer FK (Tabela de Paises)
EST_NOME varchar(60)
bom a tabela portanto tem como campo chave o EST_UF que é varchar.
No momento de fazer o mapeamento fiz da seguinte forma, mas não sei se esta correto:
@Entity
@Table(name="estado")
public class Estado implements IPojo {
@Id
@Column(name="est_uf", length=2)
private String estUf;
@Column(name="est_nome", length=60)
private String estNome;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="paiCodigo", table="pais")
private Pais pais;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
private Set<Municipio> municipios;
public Estado(){
municipios = new HashSet<Municipio>();
}
public Estado(String uf, String nome){
super();
this.estUf = uf;
this.estNome = nome;
}
public String getEstUf() {
return estUf;
}
public void setEstUf(String estUf) {
this.estUf = estUf;
}
public String getEstNome() {
return estNome;
}
public void setEstNome(String estNome) {
this.estNome = estNome;
}
public Pais getPais() {
return pais;
}
public void setPais(Pais pais) {
this.pais = pais;
}
public Set<Municipio> getMunicipios() {
return municipios;
}
public List<Municipio> getListaMunicipio() {
return new ArrayList<Municipio>(municipios);
}
public void setMunicipios(Set<Municipio> municipios) {
this.municipios = municipios;
}
}
e entao está correto desta forma?