Olá, não tenho certeza se esse é o local certo para postar, então desculpem qualquer coisa
Minha dúvida é a seguinte…
Tenho uma classe com o seguinte método:
public void pesquisar()
{
HibernateUtil.pesquisar(this);
}
Método que ele chama:
public static void pesquisar(Object entrada)
{
Session sessao = null;
Transaction transacao = null;
Criteria filtro = null;
//código da pesquisa
entrada = entrada.getClass().cast(resultado); //resultado é do tipo Object e recebe o resultado da chamada no método Criteria.uniqueResult()
//resto do código
}
A Instância da entidade que chamou o método HibernateUtil.pesquisar não recebe os valores da pesquisa…o jeito que eu consegui fazer funcionar foi fazendo o método retornar o valor da variável resultado, mas então o código da minha entidade ficou algo assim:
@Entity
public class Contato implements Serializable
{
private static final long serialVersionUID = -1709644651136614756L;
@Id
@GeneratedValue
private Integer codigo;
private String email;
private String telefone1;
private String telefone2;
public void pesquisar(){
Contato contato = HibernateUtil.pesquisar(this);
email = contato.email;
//etc
}
//resto
O que não me parece um código “limpo”.
A variável entrada não deveria ter o mesmo endereço de memória que a instância que chamou o método HibernateUtil.pesquisar? Em que parte estou me confundindo?
Não faço idéia se o problema é muito simples ou não, já que só estou começando a aprender java, de qualquer forma…Obrigado pela ajuda.