Populando data table prima faces

1 resposta
Emillyewilliammorett

Dae,
to com o seguinte problema, tenho 2 tabelas, municipioo e eleitor que se relacionam, quero trazer no data table apenas cidades de um determinado estado e depois a quantidade de cadastro de eleitores desse estado.
Obs: as cidades de um determinado estado consigo trazer, agora não estou conseguindo trazer a quantidade de eleitores das cidades. alguém tem algum exemplo, de como fazer
Obrigado.

ac.xhml

<p:dataTable var="item" value="#{eleitorBack.contadorAC}"  stickyHeader="true">
<p:column headerText="MUNICICIPIO">
      <h:outputText value="#{item.municipio}" />
</p:column>

</p:dataTable>

eleitorBack.java

private List<MunicipioEntity> contadorAC;

@PostConstruct
	public void inicializar(){
		eleitorDao = new EleitorDAO();
		contadorAC = eleitorDao.AC();
	
	}

eleitorDAO.java

public class EleitorDAO extends CrudDAO<EleitorEntity> {
	
	
		
		@SuppressWarnings("unchecked")
		public List<MunicipioEntity> AC() { 
			String hql = "From MunicipioEntity where estado = 'AC' ";
			EntityManager em = EntityManagerProvider.getEntityManagerFactory().createEntityManager();
			Query q = em.createQuery(hql);
			return  q.getResultList();
		 	
    }	
		
		 	
    }

eleitorEntity.java

package Entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "ELEITOR")

public class EleitorEntity {
	
	
	
	@Id
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	
	 
	 @JoinColumn(name="MUNICIPIO_ID")
	 private int municipioid;
	

	


	



	public int getMunicipioid() {
		return municipioid;
	}

	public void setMunicipioid(int municipioid) {
		this.municipioid = municipioid;
	}



	@Column(name = "NOME")
	private String nome;
	
	@Column(name = "DTANASCIMNETO")
	private String dtnascimento;

	public String getDtnascimento() {
		return dtnascimento;
	}

	public void setDtnascimento(String dtnascimento) {
		this.dtnascimento = dtnascimento;
	}

	public String getNome() {
		return nome;
	}



	public void setNome(String nome) {
		this.nome = nome;
	}




	

	



	



	public Long getId() {
		return id;
	}



	public void setId(Long id) {
		this.id = id;
	}





}
MunicicpioEntity.java
package Entity;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "MUNICIPIO")

public class MunicipioEntity {
	
	
	
	@Id
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	
	
	
	@Column(name = "MUNICIPIO")
	private String municipio;
	
	






	


	public Long getId() {
		return id;
	}


	public void setId(Long id) {
		this.id = id;
	}


	public String getMunicipio() {
		return municipio;
	}


	public void setMunicipio(String municipio) {
		this.municipio = municipio;
	}


	public String getEstado() {
		return estado;
	}


	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(name="ESTADO")
	 private String estado;

	



	
	
	
	
	
	
}

1 Resposta

RaulCrash

Se você não omitiu código, suas entidades não tem relacionamento entre eleitores e município que os traga como um fetch Eager. Não se preocupa, isto não está errado. É melhor você quando precisar trazer determinado eleitores por municipio construir uma HQL especifica a isto (Bem meu modo de ver, possa estar completamente equivocado xD)
Você pode tentar em realizar um relacionamento Bidirecional entre a entidade Municipio e Eleitores, então cria um HQL que dê fetch nos eleitores quando estiver buscando o município.

  • “Hum tá, mas eai ? E as quantidades de Eleitores por municipio???”
  • É só você ver o tamanho da lista de Eleitores que vai ter por instancia de Municipio :nerd:
Criado 22 de dezembro de 2016
Ultima resposta 22 de dez. de 2016
Respostas 1
Participantes 2