Ola pessoALL,
to com um problema.
Tenho uma entidade Usuario e outra Fornecedor, relaciono essas 2
entidades em tabela relacional(many to many).
Qnd vou cadastrar p 1º usuário, cadastro e seto o fornecedro dele.
Depois, qnd vou cadastrar o 2º usuário do mesmo fornecedor, ele cadastra esse 2º usuário, mas anula o campo fornecedor do 1º.
Alguém ja passou por isso, e pode me ajudar?
ae vai o código do teller dele:
public void criaUsuario(String nome, String[] fornecedores) throws CreateException, FornecedorNaoEncontradoException, ServiceError
{
UsuarioLocalHome home = LSL.lookupUsuarioHome();
// cria o teller
TellerLocal teller = LSL.createTeller();
UsuarioLocal local = home.create(nome);
Collection coll = local.getFornecedores();
FornecedorLocalHome fornecedorHome = LSL.lookupFornecedorHome();
for(int i=0; i<fornecedores.length; i++)
{
try
{
FornecedorLocal fornecedor = fornecedorHome.findByCodAntigo(String.valueOf(fornecedores[i]));
coll.add(fornecedor);
}
catch(FinderException e)
{
this.ctx.setRollbackOnly();
throw new FornecedorNaoEncontradoException(e);
}
}
local.setFornecedores(coll);
}
E qnd faço o relacionamento em Usuario através do XDoclet, o código fica assim:
/**
* @ejb.interface-method
* @ejb.relation name="Usuario tem Fornecedor"
* role-name="Usuario tem Fornecedor - Usuario"
* target-role-name="Usuario tem Fornecedor - Fornecedor"
* target-ejb = "Fornecedor"
*
* @jboss.relation-mapping style="relation-table"
* @jboss.relation-table table-name="NOME_TABELA_RELACIONAMENTO"
* @jboss.relation related-pk-field="codigo" fk-column="COD_FORNECEDOR"
* @jboss.target-relation related-pk-field="codigo" fk-column="COD_USUARIO"
*/
public abstract Collection getFornecedores();
/**
* @ejb.interface-method
*/
public abstract void setFornecedores(Collection value);
Desde já agradeço a ajuda!
[]'s