[Resolvido] Retorna Dados de tabelas diferente para o dataTable de Cliente

18 respostas
D

Bom dia Pessoal.
Tenho o seguinte senário, uma tabela de clientes com dois relacionamentos 1 - N para endereco e 1 - N para contato, entao meu cliente poderá ter mais de 1 endereco e contato.
Preciso que na tela de clientes eu liste esses dados, mas como sou iniciante, tentei fazer essa consulta e não consegui, entao gostaria de uma ajuda de voces.
Os dados que gostaria de trazer, por exemplo, seriam o nome do cliente, e seus dados de contato, como por exemplo, email, telefone e celular, e ao selecionar um cliente
abrisse a tela de alteração com todos os dados do cliente seleciomado (endereco , contato e os proprios dados do cliente), sei que isso é uma dúvida simples, mas poderiam me ajudar ?
Att

18 Respostas

M

Bom dia Deverling!

Primeira coisa a se pensar é como vc vai querer trazer esses dados na sua tabela…
Por exemplo, vc vai querer replicar os registros p/ cada Endereço ou Contato que o Cliente tiver?
Ou só trazer o primeiro registro (Endereço e Contato), e depois na edição vc mostrar tudo p/ o usuário?

Posta pra gente o que vc já fez pra ver no que podemos ajudar…

H

Talvez esse post possa te ajudar a mapear sua classe: @OneToMany e @ManyToOne Unidirecional e Bidirecional. Uma vez mapeados, você poderá trazer o resultado utilizando find, list e assim vai. [=

D

Olá MateusBuck.
Isso o que estou pensando em fazer é trazer o endereco e o contato marcados pelo cliente como principal e os demais registros mostrar apenas na hora da edição.
O que consegui fazer até agora foi apenas pesquisar os registros no banco dados, mas não retorná-los no hibernate
quando tentei fazer com HQL sempre deu erro, por esse motivo postei minha dúvida, tens como ajudar-me ?
Att

D

Mateus segue o codigo da consulta que estou utilizando.
Estou utilizando o padrao que o pessoal está seguindo no projeto, toda tabela tem sua view e é feito JOINS para retornar os dados

Segue

public List Pesquisar(Cliente cliente, String campoOrdenacao,
String ordenacao, Integer pagina, Integer limit) {

String sql			   		= 	" SELECT " +
									 	" vwc.* " +
									 	" ,vwe.* " +
									 	" ,vwct.* " +
									" FROM " +
										" vwlistacliente vwc " + 
										" INNER JOIN vwlistaendereco vwe ON vwe.clienteid = vwc.clienteid " +
										" INNER JOIN vwlistacontato vwct ON vwct.clienteid = vwc.clienteid ";
	
	Query consulta	        	=	this.session.createSQLQuery(sql)
									.addEntity("vwc",Cliente.class)
									.addEntity("vwe",Endereco.class)
									.addEntity("vwct",Contato.class);

	
	List<Cliente> clientes  	=	consulta.list();
	
	return clientes;		
	
}

O interessante é que eu usei System.out.println(consulta.list().size()); e retornou a quantidade de registros correta

Mas na tela está dando o seguinte erro

java.lang.NumberFormatException: For input string: "nome"

java.lang.NumberFormatException.forInputString(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

javax.el.ArrayELResolver.toInteger(ArrayELResolver.java:375)

javax.el.ArrayELResolver.getValue(ArrayELResolver.java:195)

com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

com.sun.el.parser.AstValue.getValue(AstValue.java:116)

com.sun.el.parser.AstValue.getValue(AstValue.java:163)

com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)

com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)

javax.faces.component.UIOutput.getValue(UIOutput.java:169)

com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

org.primefaces.component.datatable.DataTableRenderer.encodeRegularCell(DataTableRenderer.java:567)

org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:527)

org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:468)

org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:194)

org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:173)

org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:79)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)

javax.faces.render.Renderer.encodeChildren(Renderer.java:168)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)

com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:328)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:95)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:175)

org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)

org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

classe.projeto.utils.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:25)

Podes me ajudar ?

H

O que essa linha faz? classe.projeto.utils.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:25)

M

Bom, se vc está conseguindo popular a sua lista já é meio caminho andado…
Como vc ta fazendo pra popular a sua tabela? Vc criou uma classe TableModel?

java.lang.NumberFormatException: For input string: "nome"
O problema reportado nessa linha é que o Java não conseguiu transformar o valor passado em “nome” para Integer…

D

Olá Mateus

Estou populando minha DataTable assim

<p:dataTable var=“cliente” value="#{ClienteListagemBean.lazyModel}"
paginator=“true” rows=“30"
paginatorTemplate=”{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {CorrentPage} {RowsPerPageDropdown}“
rowsPerPageTemplate=“30,45,60” lazy=“true” dynamic=“true"
emptyMessage=”#{MensagemBean.mensagemNenhumRegistroEncontado}”>

<p:column 
						styleClass="tblListagemRisiRefeicoes">
						<f:facet name="header">
							<h:outputText value="Nome" />
						</f:facet>
						<h:outputText value="#{cliente.nome}" />
					</p:column>
				</p:dataTable>

Estava pensando e acho que esse é justamente o meu erro, porque se eu fizer um SELECT * FROM vwlistacliente e retornar os dados apenas de cliente ele funciona,
mas não da forma que estou fazendo, não estou retornando apenas os dados de cliente, e sim de CLIENTE, ENDERECO e CONTATO acho que deveria alterar o retorno do meu metodo DAO de cliente para Objeto, como é a primeira vez que estou fazendo isso, tenho essa dúvidas iniciais.
Agora que vc tem o codigo do meu DAO e o DataTable, o que sugere-me ?

M

Acho que só mudando o seu retorno de Cliente p/ Object não vai funcionar, porque o seu SELECT está na tabela de clientes mesmo… usando o INNER JOIN vc só está fazendo buscar o relacionamento, agora eu não consegui achar o porque do erro de tranformar String em Integer…
Vc já tentou antes de popular a sua tabela fazer um For pra varrer a sua lista e ver se os registros que ele trouxe estão todos ok?

D

Sim, eu o compreendo mas o relacionamento não está na entidade cliente e sim na entidade Endereco e Contato, por isso achei que ao invés de retornar um cliente eu deveria retornar um Object.

Veja abaixo a entidade Contato e Endereco

@Entity

@Table(name = contato)

public class Contato implements  Serializable{
private static final long serialVersionUID = 1116058132248806046L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer contatoID;

@ManyToOne
@JoinColumn(name="clienteID")
private Cliente cliente;

@Column(length = 100)
private String nome;

@Column(length = 100)
private String email;

@Column(length = 20)
private String telefone;

@Column(length = 20)
private String celular;

@Column(length = 100)
private String voip;

@Column(nullable=false)
private Boolean status;

    --get / set
    --hashCode -- equals

}

public class Endereco implements Serializable {

private static final long serialVersionUID = -6543126367934527420L;


@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer enderecoID;

@ManyToOne
@JoinColumn(name="cidadeID",nullable = false)
private Cidade cidade;

@ManyToOne
@JoinColumn(name="clienteID")
private Cliente cliente;

@Column(nullable = false, length = 100)
private String rua;

@Column(nullable = false)
private String numero;

@Column(length = 100)
private String complemento;

@Column(nullable = false, length = 100)
private String bairro;

@Column(nullable = false)
private String cep;

    --get / set
    --hashCode -- equals

}

E é com isso justamente que estou me batendo, como faço para trazer os dados das 3 entidades para uma tela de listagem de clientes , porque estou precisando listar os dados por exemplo de cliente (nome), contato (email - telefone e celular ) e endereco (cidade - estado).
Será que tem como ?

M
Tem como fazer isso sim... Na verdade vc vai popular uma lista do tipo Cliente ( List<Cliente> ) com esse seu Select... Como cada entidade do tipo Cliente vai ter uma lista de Endereço e/ou Contato vc vai precisar "navegar" (percorrer os relacionamentos da sua Entidade principal) nesses seus objetos, Por exemplo um laço pra percorrer os seus dados, é +/- isso que vc vai ter que fazer pra montar seu TableModel:
for(Cliente c : suaListaDeClientes){
            
      System.out.println(c.getNome());
      System.out.println(c.getContatoList().get(0).getTelefone());    //Peguei somente o primeiro indice da lista de Contatos
      System.out.println(c.getEnderecoList().get(0).getRua());         //Peguei somente o primeiro indice da lista de Endereços
            
}
Deu pra entender? Faz uns testes ai pra ver se vc consegue "navegar" nos seus objetos da sua lista...
D

Sim eu entendi, utilizei o código que vc passou-me para fazer os testes e o objeto Cliente não possui os métodos
c.getContatoList() e c.getEnderecoList(), e antes já tinha tentado efetuar a impressão do nome do primeiro cliente da lista com o codigo clientes.get(0).getNome()
ai o java gerou a seguinte exception.

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to classe.projeto.cliente.Cliente

classe.projeto.cliente.ClienteDAOHibernate.Pesquisar(ClienteDAOHibernate.java:111)

classe.projeto.cliente.ClienteRN.Pesquisar(ClienteRN.java:94)

classe.projeto.bean.ClienteListagemBean.Pesquisar(ClienteListagemBean.java:51)

classe.projeto.bean.ClienteListagemBean.access$0(ClienteListagemBean.java:47)

classe.projeto.bean.ClienteListagemBean$1.load(ClienteListagemBean.java:40)

org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:686)

org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:453)

org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:194)

org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:173)

org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:79)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)

javax.faces.render.Renderer.encodeChildren(Renderer.java:168)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)

com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:328)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:95)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:175)

org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)

org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

Abaixo segue a maneira que efetuei o mapeamento da entidade cliente

public class Cliente implements Serializable {

private static final long serialVersionUID = -893996185060004864L;


@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer clienteID;

@Column(nullable=false, length = 1)
private Character tipoCliente;

@Column(nullable=false, length = 100)
private String nome;

@Column(length = 100)
private String razaoSocial;

@Column(nullable=false, unique=true)
private String cnpf;

private String rgInscEstadual;

@Column(nullable=false)
private Boolean status;

}

OBS.: “Salvar o cliente, seus endereco e contatos eu consigo sem problemas”

Estava lendo sobre os tipos Enum, será que não poderia utilizar Enum para retornar os Dados, criando um Enum de Cliente, Endereco e Contato ?
Não sei se falei besteira agora.

M

Ai que está o problema… Você tem a classe Cliente relacionada nas classes Endereco e Contato, porém não tem essas classes relacionadas na Cliente, por isso vc não consegue “pegar” esses valores pela classe Cliente quando vai montar a tabela…
Vc precisa fazer o relacionamento de retorno na sua classe Cliente…

Seu relacionamento é +/- assim:
[i]
[b]1 Endereço possui 1 Cliente
1 Contato possui 1 Cliente

1 Cliente possui N Endereço
1 Cliente possui N Contato[/b][/i]

Correto?

D

Sim, correto, mas eu devo ter o relacionamento nas duas entidades então ?
Tanto na endereco e contato (como tenho hoje), como na de cliente ?
se sim como ficaria ?

M

Sim, vai ser necessário, justamente numa ocasião como essa, em que vc vai precisar dos dados de Endereço/Contato quando buscar pelo Cliente...

Mapeamento de retorno na sua classe Cliente
@OneToMany(mappedBy = "cliente", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private List&lt;Contato&gt; contatoList;

@OneToMany(mappedBy = "cliente", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private List&lt;Endereco&gt; enderecoList;
Getters das listas de Endereco e Contato na sua classe Cliente
public List&lt;Contato&gt; getContatoList() {
        return contatoList;
}

public List&lt;Endereco&gt; getEnderecoList() {
        return enderecoList;
}
Fazendo essas alterações na sua classe Cliente agora quando vc fizer um Select nela vc vai conseguir pegar as suas listas de Endereço e/ou Contato... Faz uns testes ai, e da uma olhada naquele link que o nosso amigo jakefrog passou ali... Fala desse assunto mesmo...
D

Matues, muito obrigado pela ajuda, isso que vc me passou realmente está funcionando.
Utilizei o Loop que vc passou anteriormente para fazer os teste e funcionou tudo certinho, mas ká estou eu com outra pequena dúvida.
No xhtml que estou tentando efetuar a impressao do email do contato, da seguinte forma

<p:column
styleClass=“tblListagemRisiRefeicoes”>
<f:facet name=“header”>
<h:outputText value=“Email” />
</f:facet>
<h:outputText value="#{cliente.contato.email}" />
</p:column>

mas ai novamente é gerado aquela exception

java.lang.NumberFormatException: For input string: "email"

java.lang.NumberFormatException.forInputString(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

java.lang.Integer.parseInt(Unknown Source)

javax.el.ListELResolver.toInteger(ListELResolver.java:407)

javax.el.ListELResolver.getValue(ListELResolver.java:199)

com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

com.sun.el.parser.AstValue.getValue(AstValue.java:116)

com.sun.el.parser.AstValue.getValue(AstValue.java:163)

com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)

com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)

javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)

javax.faces.component.UIOutput.getValue(UIOutput.java:169)

com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

org.primefaces.component.datatable.DataTableRenderer.encodeRegularCell(DataTableRenderer.java:567)

org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:527)

org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:468)

org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:194)

org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:173)

org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:79)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)

javax.faces.render.Renderer.encodeChildren(Renderer.java:168)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)

com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)

com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:328)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:95)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)

org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:340)

org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:175)

org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)

org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

Nunca efetuei a impressao de lista assim com dataTable, tu saber como fazer ?
Att

M

Por nada!
Mas e as outras informações sobre Contato/Endereço, vc conseguiu exibir na sua tabela?
Está com o mesmo problema que antes… Por algum motivo ele está tentando converter a String do “email” para Integer…
Da uma revisada nisso, é alguma coisa que ta passando despercebido ai…

Uma dica… quando for colocar algum código no seu post, usa as tags [*code] (sem o asterisco) e [/code], assim fica formatado, melhor pra gente visualizar…

D

Não consegui mostrar na tela nenhuma informação de contato e endereco, sempre este gerando o erro de antes, estou pesquisando o que pode ser.
Acredito que seja porque não estou imprimindo de maneira adequada as listas, porque tenho a primeira lista de clientes
List e isso eu consegui imprimir, mas pelo que entendi, terei tbm dentro desta lista um List de Contato, algo mais ou menos assim "imagino eu"
e é essa “segunda lista” que não estou conseguindo imprimir.
Estou pesquisando na web para ver se encontro algo, tu sabes como faz ?

Att e mto obrigado pela ajuda.

D

Mateus, consegui efetuar a impressao de tudo na tela.
Obrigado pela ajuda, valeu cara

Criado 15 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 18
Participantes 3