Concorreicia em JPA

2 respostas
P

Olá pra todos…

to com mais um probleminha aqui no meu sistema…
estou tentando implementar o model com JPA ( e ja ta funcionando todo o CRUD, ficou bacana diga-se de passagem ), mas como nem tudo são flores…

testando percebi que não esta conseguindo atualizar quando se deleta um registro, explicando melhor…

1- eu crio um registro é salvo ( beleza )
2- edito se quiser ( beleze )
3- se eu excluir pelo aplicativo ( beleza )

agora se eu excluir o registro direto no banco ou com outro aplicativo, ele continua em cash no aplicativo que o criou.

essa é minha duvida, POR QUE???

eu dei uma olhada no javadoc do toplink e o EntityManeger tem um metodo flush(); pra sincronizar mas isso não ta dando certo,
eu ja tentei setar o setFlushMode() de todo o geito mas mesmo assim não deu…
se alguem puder ajudar eu agradeço…

2 Respostas

C

Olá pregospan,

Tente utilizar o método refresh. Ele sincroniza o seu objeto com o banco de dados, e lança uma exceção caso ele não exista mais.

Eu não cheguei a testar isso, tô dizendo pelo que eu tô vendo aqui na documentação.

Até mais, :wink:

P

valeu

eu ja tinha tentado usar este metodo mas "acho" que não corretamente...

assim funcionou...

try {

			EntityManager manager = PSManager.getManager();

			entityTemp = manager.find( entity.getClass(), id.getValue() );

			manager.refresh( entityTemp );

			if ( entityTemp != null ) {

				entity = entityTemp;
			}

		} catch ( EntityNotFoundException e ) {
			/*
             * remove o objeto 
             * para que exista sicronismo como o banco de dados
             */
			PSManager.remove( entityTemp );
		}

obrigado de qualquer forma...

Criado 8 de novembro de 2006
Ultima resposta 9 de nov. de 2006
Respostas 2
Participantes 2