[RESOLVIDO] Problema em listar foreign key

Olá galera, estou começando agora no desenvolvimento, tenho na minha aplicação uma entidade Usuario e outra Funcionario, nem todo funcionário possui login/senha para acesso ao sistema, então para cadastrar um usuario preciso colocar a matricula do funcionario, consigo inserir direto pelo banco e quando listo na aplicação aparece na matricula o endereço da entidade, ao invés de aparecer o que tem no banco, exemplo:

Matrícula: br.com.sige.entidade.Funcionario@68d005bd
Login: mayarasige
email: mayara@sige.com

Na entidade Usuário, funcionário está assim:

	@OneToOne
///no banco fica funcionario_matricula
	private Funcionario funcionario;

Na entidade Funcionário, usuário está assim:

@OneToOne(mappedBy="funcionario") private Usuario usuario;

E esse é o método de listarUsuarios

@Override
	public List<Usuario> listarUsuario() {
		List<Usuario> usuario = new ArrayList<Usuario>();
		Query query = em.createQuery("SELECT u FROM usuario u, funcionario e");
//		Query query = em.createQuery("SELECT u FROM usuario u");
		usuario = query.getResultList();
		return usuario;
	}

Alguém sabe dizer porque está acontecendo isso? aparecer o endereço da entidade ao invés da matrícula que está no BD?
Fico no aguardo! :slight_smile:

Por que em algum lugar você está imprimindo a referência do objeto e não a matricula.

Se você fizer System.out.prinln(usuario.getFuncionario()) ou h:outputText value="#{usuario.funcionario}" vai ser impresso o valor da referência e não a matrícula.

Faça usuario.getFuncionario().getMatricula()

[quote=Hebert Coelho]Por que em algum lugar você está imprimindo a referência do objeto e não a matricula.

Se você fizer System.out.prinln(usuario.getFuncionario()) ou h:outputText value="#{usuario.funcionario}" vai ser impresso o valor da referência e não a matrícula.

Faça usuario.getFuncionario().getMatricula()[/quote]

Muito obrigada, era exatamente isso, alterei para <h:outputText value="#{usuario.funcionario.matricula} e deu certo o/