Deletar em cascata

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

Ops… resolvido!! :lol: