Boa Noite Amigos, estou estudando um pouco de cascade e uma coisa nao consigo entender…
tipo eu tenho um usuario com 1 lista de permissões, neste usuário eu tenho ja 2 permissões cadastradas, quando faço isso…
Permissao p = new Permissao("cadastrar");
usuario.getPermissoes().add(p);
session.update(p);
tx.commit();
session.close();
Gostaria de saber por que ele primeiro remove, a duas permissões que ele tinha e depois insere novamente.
O Resultado da transação
Hibernate:
select
permissao_seq.nextval
from
dual
Hibernate:
insert
into
Permissao
(nome, id)
values
(?, ?)
Hibernate:
delete
from
r_usuario_permissao
where
usuario_id=?
Hibernate:
insert
into
r_usuario_permissao
(usuario_id, permissao_id)
values
(?, ?)
Hibernate:
insert
into
r_usuario_permissao
(usuario_id, permissao_id)
values
(?, ?)
Hibernate:
insert
into
r_usuario_permissao
(usuario_id, permissao_id)
values
(?, ?)
Alguem pode me explicar o por que? e tem como nao deletar e inserir novamente?
Obrigado,