Membro desde: 03/11/2008 17:04:36
Mensagens: 59
Offline
fala galera!
eu estou usando o db4o, mas estou com alguns problemas.
eu tenho um objeto que preciso alterar. pra eu alterar ele, eu tenho que buscar este objeto na base, certo? feito isso, eu altero e uso o comando store no banco com o advogado:
ObjectSet listacarros = banco.queryByExample(carro_vou_alterar);
carro = (Carro)listacarros.next();
carro.setvalor(0);
carro.adicionarmotorista(motorista);
banco.store(carro);
se eu crio dois carros e adiciono motoristas neles, eu armazeno esses dois carros!! entao eu fico com 4 carros, equanto eu quero ficar so com 2.
Membro desde: 30/09/2006 09:38:16
Mensagens: 70
Localização: Campo Grande - MS
Offline
A sequência do update está correta. Verifique contudo se está realizando o processo todo dentro da mesma transação (mesmo ObjectContainer), caso não o db4o assume que o objeto que você salvando é um novo objeto - não o recém carregado do banco - e cria uma nova instância no banco com os mesmos dados.