Conversão de tipos

5 respostas
E

Pessoal,
Como faço para converter um Long para um tipo que eu criei?
Obrigado.

5 Respostas

T

Depende. Como é o tal tipo que você criou?

alucardeck

totalmente vaga essa pergunta heheh…

em todo caso vc pode passar o parametro Long na criação desse seu “Objeto”…

E

Deixa eu me explicar melhor:

Eu tenho duas classes Compra e Corretora:

public abstract class Corretora {

private Long id;

private String nome;

private Situacao situacao;

}
public abstract class Compra {

private Long id;

private Corretora corretora;

}

Agora eu preciso, na tela de Compras, recuperar automaticamente a corretora ativa (atributo situacao).

Para resolver isso eu tenho uma classe CompraDAO que possui um método para recuperar o id da corretora ativa:

public Long recuperaIdCorretoraAtiva() throws PlcException {

Session sess = this.getSession();

return (Long)sess.createQuery(" select obj.id from CorretoraEntity obj where obj.situacao=‘S ")

.uniqueResult();

}

Agora na minha classe CompraAction onde eu vou executar o método recuperaIdCorretoraAtiva() ocorre o erro na linha "compra.setCorretora(id);
", pois o id é Long, mas o esperado seria Corretora.

@Override
protected boolean gravaSimplesAntes() throws PlcException {
	
	Compra compra = (Compra)this.entidadePlc;
	
	IAppFacade facadeImpl = (IAppFacade)this.getServiceFacade(IAppFacade.class);
	Long id = facadeImpl.recuperaIdCorretoraSimulador();
	compra.setCorretora(id);
	
	return super.gravaSimplesAntes();
}

Obrigado pela ajuda nessa minha dúvida de iniciante.

g4j

Vc tem que setar uma instancia de corretora em compra.setCorretora():

Corretora corretora = new Corretora();
//corretora.setId...
//seta os atributos de corretora e:
compra.setCorretora(corretora);
E

Ok…
Indo por esse caminho, ficou dessa maneira:

IAppFacade facadeImpl = (IAppFacade)this.getServiceFacade(IAppFacade.class);
	Long id = facadeImpl.recuperaIdCorretoraSimulador();
	
	Corretora corretora = new Corretora(corretora);
	
	corretora.setId(id);
	compra.setCorretora(corretora);

Porém, está dando o seguinte erro “Cannot instantiate the type Corretora” em “Corretora corretora = new Corretora(corretora);”

Criado 29 de agosto de 2008
Ultima resposta 29 de ago. de 2008
Respostas 5
Participantes 4