danielti 20 de ago. de 2008
Entendo, mas como eu faço para passar dois campos como parâmetro para em.find ?
Desde ja agradeço…
danielti 20 de ago. de 2008
Desculpe-me, mas acho uqe não me expliquei corretamente.
Quanto a implementação da entidade , fiz corretamente.
Agora quero utilizar o find para retornar o item que quero apagar em em.remove(classe).
É isto que não estou entendendo.
Muito obrigado,
rodrigo_gomes 20 de ago. de 2008
Como o pozzo disse, vc deve passar o objeto que é sua chave composta, e não a entidade em si.
Se você postar seus código, poderemos te ajudar mais.
[]´s
danielti 20 de ago. de 2008
Rodrigo e Pozzo,
Muito obrigado pela ajuda de vocês.
Consegui resolver da seguinte forma :
O item que estou apagando está na entidade Acesso cuja chave primária é composta por usuario_id e funcao_id.
String usuario_id = request . getParameter ( "usuario_id" );
String funcao_id = request . getParameter ( "funcao_id" );
int usuarioid = Integer . parseInt ( usuario_id . trim ());
int funcaoid = Integer . parseInt ( funcao_id . trim ());
perfilUsuarioPK = new AcessoPK ();
perfilUsuarioPK . setFuncaoId ( funcaoid );
perfilUsuarioPK . setUsuarioid ( usuarioid );
perfilUsuarioDao = em . find ( Acesso . class , perfilUsuarioPK );
em . remove ( perfilUsuarioDao );
try {
em . getTransaction (). begin ();
em . getTransaction (). commit ();
} catch ( Exception e ) {
System . err . println ( "Erro :" + e . getMessage ());
}
Mais uma vez, obrigado pela força.