Erro ao Salvar em tabela n:n

Pessoal, bom dia!
Eu tenho uma tabela chamada PESSOA, uma chamada GRUPO e uma chamada PESSOA_HAS_GRUPO, de relacionamento n:n
Quando eu vou salvar na tabela PESSOA_HAS_GRUPO, está me acontecendo o seguinte erro:

Hibernate: delete from cerimonial.pessoa_has_grupo where pessoa_id=?
Hibernate: insert into cerimonial.pessoa_has_grupo (pessoa_id, grupo_id) values (?, ?)
Hibernate: insert into cerimonial.pessoa_has_grupo (pessoa_id, grupo_id) values (?, ?)
Hibernate: insert into cerimonial.pessoa_has_grupo (pessoa_id, grupo_id) values (?, ?)

Ele deleta uma linha e salva várias outras.
Porque isto está acontecendo?

Minhas configurações são as seguintes:
PESSOA
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = “pessoa_has_grupo”, schema=“cerimonial”,
joinColumns = {@JoinColumn(name = “pessoa_id”)},
inverseJoinColumns = {@JoinColumn(name = “grupo_id”)})
public Collection getGrupo() {
if (grupo == null)
grupo = new ArrayList();
return grupo;
}

GRUPO:
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name=“pessoa_has_grupo”, schema=“cerimonial”,
joinColumns={@JoinColumn(name=“grupo_id”)},
inverseJoinColumns={@JoinColumn(name=“pessoa_id”)})
public Collection getPessoa() {
return pessoa;
}

METÓDO QUE SALVA NA TABELA PESSOA_HAS_GRUPO:
public String salvarPessoaEGrupo() throws Exception {
try {
// Abre a sessão
Session sessao = HibernateUtil.getSessao();
// Inicia a Transação
HibernateUtil.iniciarTransacao();
// A variável p recebe o Objeto e o id do contato
Pessoa p = (Pessoa) sessao.get(Pessoa.class, getPessoa().getId());
Pessoa pessoa = new Pessoa();
pessoa = p;
Grupo g = (Grupo) sessao.get(Grupo.class, getGrupo().getId());
pessoa.getGrupo().add(g);
sessao.save(pessoa);
} finally {
HibernateUtil.commit();
HibernateUtil.fechar();
}
return SUCCESS;
}

Obrigado.