tenho um mapeamento onde
esta da seguinte forma
1 estado n cidades
1 cidade n enderecos
1 endereco n pessoas
Os dados referentes a cidade e endereco se nao tiver no banco incluo,
mas se ja tiver, apenas atualizo .
no caso da cidade quando modifico somente o endereco e mantenho a cidade esta acontecendo de inserir novamente outra cidade com o mesmo nome.
mas a cidade ja cadastrada vem do banco de dados no caso de existir
alguem tem a solucao para que quando nao existir ele atualizar e no caso de nao existir inserir.
session.saveOrUpdate(Object);
Either Session.save(Object) or Session.update(Object) the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).
This operation cascades to associated instances if the association is mapped with cascade=“save-update”.
cascade ja esta como save-update
Hibernate:
insert
into
test.endereco
(IDCIDADE, BAIRRO, RUA, CEP)
values
(?, ?, ?, ?)
Hibernate:
update
test.pessoa
set
CEP=?,
NOME=?,
TELEFONE=?,
EMAIL=?,
RG=?,
CELULAR=?,
DATACADASTRO=?,
SITUACAO=?,
SENHA=?,
LOGIN=?,
DATANACIMENTO=?,
PERMISSAODEACESSO=?,
SEXO=?,
CPF=?
where
ID=?
so que toda vez este sql e execultado
nao sei como retirar esse insert e passar ele para update!
descobri o porque de ele estar inserindo uma nova cidade e por que o id da cidade esta como null quando faco a consulta mas nao sei por que ele ta retornando somente o id como null?
Resolvi o problema desta forma
onde tenho
many-to-one
cascade=“save-update” lazy=“false” fetch=“select”
funcionou
Obrigado!