Agora estou com o problema da remoção, alguém souber por favor la vai o código:
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
@Entity
public class Uf {
@Id
private int id;
private String nome;
@OneToMany(mappedBy="uf", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private List<Cidade> cidades = new ArrayList<Cidade>();
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setCidades(List<Cidade> cidades) {
this.cidades = cidades;
}
public void addCidade(Cidade cidade){
cidades.add(cidade);
}
public List<Cidade> getCidades() {
return cidades;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
/////////////////////
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
@Entity
public class Cidade {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name="nomeCidade")
private String nome;
@ManyToOne(fetch=FetchType.EAGER)
@Cascade(CascadeType.SAVE_UPDATE)
@JoinColumn(name="fk_uf",updatable=true,insertable=true)
private Uf uf;
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setUf(Uf uf) {
this.uf = uf;
}
public Uf getUf() {
return uf;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
logo de erro:
Caused by: java.sql.BatchUpdateException: Cannot delete or update a parent row: a foreign key constraint fails (`imoveis`.`cidade`, CONSTRAINT `cidade_ibfk_1` FOREIGN KEY (`fk_uf`) REFERENCES `uf` (`id`))
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1257)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:943)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 8 more