Problema com fk

Ola galera,

Estou tendo o seguinte problema:

Tento apagar um dado, mas ele tem um fk ne outra classe.

Minhas classes sao estas:

@Entity
public class Pessoa {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "id_pessoa")
	private int idPessoa;

	private String nome;
	private String sobenome;

	private String cpf;
	private int idade;
	private int telefone;

	private String email;

	private String usuario;

	private String senha;

	public int getIdPessoa() {
		return idPessoa;
	}
//getters e setters aqui...
@Entity
public class Contatos {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;

	private String nome;
	@Column(length = 3)
	private int idade;
	private String email;
	private String telefone;
	private String celular;

	@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	@JoinColumn(name = "id_pessoa")
	private Pessoa pessoa;

	public int getId() {
		return id;
	}
//getters e setters aqui...

O que eu quero é que se eu apagar uma pessoa todos contatos com id dessa pessoa sejam apagados tambem!

Estou fazendo este mapeamento certo?

Desde já agreço pela ajuda!

Vc tem que colocar a cascata na Pessoa.

@OneToMany(targetEntity = Contatos.class, fetch = FetchType.EAGER)
@Cascade(CascadeType.ALL)
private Collection<Contatos> contatos;

Ficaria mais ou menos assim.