Primefaces Datatable

Pessoal,

Tentei pesquisas e não consegui achar algo relacionado a esse problema.

Tenho um datatable e em uma das colunas não está aparecendo o valor correto da variavel. vejam:

[B@2a9f5bd8

Esse é valor que aparece, mas o que deveria aparecer era “Valor OK”

Está tudo, aparentemente, correto.

<p:column> <f:facet name="header"> <h:outputText value="Testes" /> </f:facet> <h:outputText styleClass="label" value="#{tk.relacionados}" /> </p:column>

A varaivel relacionados em Tk é do tipo string.

Não tenho mais idéis de como solucionar ou pesquisar sob isso.

A imagem não apareceu.

Esse tk.relacionados é uma string? ou é uma lista?

Tk é o VAR do meu datatable.

<p:dataTable id="listPesquisas" value="#{pesquisaTk.listTks}" var="tk" />

O relacionados é do tipo String.

Mostra a classe do TK, por favor.

Então, debugando da pra ver que o valor na variavel é o correto, mas na apresentação do datatable fica o incorreto.

[code]
/**
*
*/
//imports

@PersistenceUnits({@PersistenceUnit(unitName=“db_tk”)})
@Entity
public class Tk implements Serializable{

private static final long serialVersionUID = -9046841398034467021L;

@Id
private String tk;

@Column(name="id_prod")
private String prod;

@Column(name="id_versao")
private String versao;

@Lob
@Column(nullable=false)
private String descricao;

@Transient
private String relacionados = "";

/**

  • getters and setters…
    */

}[/code]

Isso aí esta parecendo uma referência à um outro objeto.

coloque o get/set apenas do relacionados por favor.

public String getRelacionados() {
		return relacionados;
	}

	public void setRelacionados(String relacionados) {
		this.relacionados = relacionados;
	}

Tem como fazer um teste?

Coloque assim:
return “Valor OK na unha”;

Veja o que vai aparecer.

O valor foi mostrado corretamente.

Muito estranho.

Quando faço a pesquisa do banco e trago os valor, faço uma conversão independente do valor.

tk.setRelacionados(lista.get(i)[16].toString());

Uma coisa diferença é que

Quando rodo a pesquisa no servidor windows o valor é mostrado correto.

Quando rodo a pesquisa no servidor linux o valor é mostrado como mencionei acima.

Faça um System.out.println(lista.get(i)[16]). Para você ver o que é.
Faça um debug e veja qual o objeto que tem tem lá dentro.

O problema está aí.

Obrigado pelas respostas jakefrog

Consegui resolver este maledito…

O problema estava no banco de dados, onde, na view, tinha uma função grou_concat…

ela monta alguma coisa tipo ‘um list’… implemente, após essa função algumas conversões a nivel de banco… e na camada de visualização foi apresentado os valores corretos

Vlww