Não estou conseguindo trazer os dados para o h:dataTable. O hibernate.cfg.xml está configurado perfeitamente. Não dá nenhum erro, mas não retorna nenhum valor.Por favor me Ajudem:
Página JSF
<ui:define name="conteudo">
<h:form>
<h:dataTable id="agendamentos" value="agendamentoBean.agendamentos">
<p:column style="width:5%;">
<f:facet name="header">Data</f:facet>
<h:outputText value="#{agendamentos.ageData}" />
</p:column>
<p:column>
<f:facet name="header">Hora</f:facet>
<h:outputText value="#{agendamentos.ageHora}" />
</p:column>
</h:dataTable>
Bean
@ManagedBean(name="agendamentoBean")
@RequestScoped
public class AgendamentoBean {
private ListDataModel agendamentos;
List<Agendamento> lista = new AgendamentoDAO().listaAgendamentos();
public ListDataModel getAgendamentos() {
agendamentos = new ListDataModel(lista);
return agendamentos;
}
public void setAgendamentos(ListDataModel agendamentos) {
this.agendamentos = agendamentos;
}
DAO
public class AgendamentoDAO {
Session session = ConnectFactory.getInstance();
Transaction tran ;
private List items;
public List listaAgendamentos() {
try {
tran = session.beginTransaction();
setItems(session.createQuery("from Agendamento").list());
tran.commit();
} catch (HibernateException e) {
e.printStackTrace();
tran.rollback();
}finally{
session.close();
}
return getItems();
}
public List getItems() {
return items;
}
public void setItems(List items) {
this.items = items;
}
Model
@Entity
@Table(name = "agendamento")
public class Agendamento implements Serializable {
@Id
@GeneratedValue
@Column(name= "ageCodigo")
private Long ageCodigo;
@Column(name= "ageData")
private String ageData;
@Column(name= "ageHora")
private String ageHora;
@Column(name= "ageCtrol")
private String ageCtrol;
@Column(name= "ageProcesso")
private String ageProcesso;
@Column(name= "forCodigo")
private int forCodigo;
@Column(name= "varCodigo")
private int varCodigo;
@Column(name= "ageConfirmacao")
private String ageConfirmacao;
@Column(name= "ageObsData")
private String ageObsData;
@Column(name= "opeCodigo")
private int opeCodigo;
@Column(name= "ageObservacao")
private String ageObservacao;
@Column(name= "ageQTDReus")
private int ageQTDReus;
@Column(name= "ageMotCancelamento")
private String ageMotCancelamento;
@Column(name= "cdpCodigoDestino")
private int cdpCodigoDestino;
@Column(name= "ageTipo")
private String ageTipo;
@Column(name= "cdpNomeOrigem")
private String cdpNomeOrigem;
public String getAgeTipo() {
return ageTipo;
}
public void setAgeTipo(String ageTipo) {
this.ageTipo = ageTipo;
}
public Long getAgeCodigo() {
return ageCodigo;
}
public void setAgeCodigo(Long ageCodigo) {
this.ageCodigo = ageCodigo;
}
public String getAgeData() {
return ageData;
}
public void setAgeData(String ageData) {
this.ageData = ageData;
}
public String getAgeHora() {
return ageHora;
}
public void setAgeHora(String ageHora) {
this.ageHora = ageHora;
}
public String getAgeCtrol() {
return ageCtrol;
}
public void setAgeCtrol(String ageCtrol) {
this.ageCtrol = ageCtrol;
}
public String getAgeProcesso() {
return ageProcesso;
}
public void setAgeProcesso(String ageProcesso) {
this.ageProcesso = ageProcesso;
}
public int getForCodigo() {
return forCodigo;
}
public void setForCodigo(int forCodigo) {
this.forCodigo = forCodigo;
}
public int getVarCodigo() {
return varCodigo;
}
public void setVarCodigo(int varCodigo) {
this.varCodigo = varCodigo;
}
public String getAgeConfirmacao() {
return ageConfirmacao;
}
public void setAgeConfirmacao(String ageConfirmacao) {
this.ageConfirmacao = ageConfirmacao;
}
public String getAgeObsData() {
return ageObsData;
}
public void setAgeObsData(String ageObsData) {
this.ageObsData = ageObsData;
}
public int getOpeCodigo() {
return opeCodigo;
}
public void setOpeCodigo(int opeCodigo) {
this.opeCodigo = opeCodigo;
}
public String getAgeObservacao() {
return ageObservacao;
}
public void setAgeObservacao(String ageObservacao) {
this.ageObservacao = ageObservacao;
}
public int getAgeQTDReus() {
return ageQTDReus;
}
public void setAgeQTDReus(int ageQTDReus) {
this.ageQTDReus = ageQTDReus;
}
public String getAgeMotCancelamento() {
return ageMotCancelamento;
}
public void setAgeMotCancelamento(String ageMotCancelamento) {
this.ageMotCancelamento = ageMotCancelamento;
}
public int getCdpCodigoDestino() {
return cdpCodigoDestino;
}
public void setCdpCodigoDestino(int CdpCodigoDestino) {
this.cdpCodigoDestino = CdpCodigoDestino;
}
public String getCdpNomeOrigem() {
return cdpNomeOrigem;
}
public void setCdpNomeOrigem(String cdpNomeOrigem) {
this.cdpNomeOrigem = cdpNomeOrigem;
}
ConnectionFactory
public class ConnectFactory {
@SuppressWarnings("deprecation")
private static SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
public static Session getInstance(){
return ConnectFactory.sessionFactory.openSession();
}
}
Você não comentou no posto, por isso a pergunta. Você debugou o código ou sabe (de alguma forma) se sua lista está vindo preenchida?
public ListDataModel getAgendamentos() {
System.out.println(lista); // <-------------
agendamentos = new ListDataModel(lista);
return agendamentos;
}
Flw
Boa Noite já consegui resolver,os dados estão aparecendo na dataTable, mas agora surgiu outra dúvida, tem uma coluna que não está aparecendo, por causa que é um relacionamento entre duas tabelas, já fiz a anotação no Hibernate mas não vem a coluna. Vou colocar as classes que tem relacionamentos para dar uma olhada. Na minha página JSF já fiz a alteração. Obrigado
@ManagedBean(name="agendamentoBean")
@SessionScoped
public class AgendamentoBean {
private List<Agendamento> agendamentos;
@PostConstruct
public void preparaAgendamentos() {
List<Agendamento> lista = new AgendamentoDAO().listaAgendamentos();
setAgendamentos(lista);
}
public List<Agendamento> getAgendamentos() {
return agendamentos;
}
public void setAgendamentos(List<Agendamento> agendamentos) {
this.agendamentos = agendamentos;
}
public class AgendamentoDAO {
Session session = ConnectFactory.getInstance();
Transaction tran ;
public List<Agendamento> listaAgendamentos() {
List<Agendamento> items = null;
try {
items = session.createQuery("from Agendamento").list();
} catch (HibernateException e) {
e.printStackTrace();
tran.commit();
}finally{
session.close();
}
return items;
}
}
<h:dataTable var="age" value="#{agendamentoBean.agendamentos}" styleClass="tabela" headerClass="cabecalho" rowClasses="ultimo,primeiro" paginator="true" rows="15">
<f:facet name="header">
Agendamentos
</f:facet>
<p:column >
<f:facet name="header">Data</f:facet>
<h:outputText value="#{age.ageData}">
<f:convertDateTime type="date" pattern="dd/MM/yyyy" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">Hora</f:facet>
<h:outputText value="#{age.ageHora}"/>
</p:column>
<p:column>
<f:facet name="header">CDP</f:facet>
<h:outputText value="#{age.cdpCodigoDestino}"/>
</p:column>
<p:column>
<f:facet name="header">Fórum</f:facet>
<h:outputText value="#{agen.forum.forNome}"/>
</p:column>
<p:column>
<f:facet name="header">Vara</f:facet>
<h:outputText value="#{agen.varCodigo}"/>
</p:column>
</h:dataTable>
@Entity
@Table(name = "agendamento")
public class Agendamento implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name= "ageCodigo")
private Long ageCodigo;
@Column(name= "ageData")
private Date ageData;
@Column(name= "ageHora")
private String ageHora;
@Column(name= "ageCtrol")
private String ageCtrol;
@Column(name= "ageProcesso")
private String ageProcesso;
@OneToMany(mappedBy="agendamento", fetch= FetchType.LAZY)
@Cascade(CascadeType.SAVE_UPDATE)
private Collection <Forum> forum;
@Column(name= "varCodigo")
private int varCodigo;
@Column(name= "ageConfirmacao")
private String ageConfirmacao;
@Column(name= "ageObsData")
private String ageObsData;
@Column(name= "opeCodigo")
private int opeCodigo;
@Column(name= "ageObservacao")
private String ageObservacao;
@Column(name= "ageQTDReus")
private int ageQTDReus;
@Column(name= "ageMotCancelamento")
private String ageMotCancelamento;
@Column(name= "cdpCodigoDestino")
private int cdpCodigoDestino;
@Column(name= "ageTipo")
private String ageTipo;
@Column(name= "cdpNomeOrigem")
private String cdpNomeOrigem;
public String getAgeTipo() {
return ageTipo;
}
public void setAgeTipo(String ageTipo) {
this.ageTipo = ageTipo;
}
public Long getAgeCodigo() {
return ageCodigo;
}
public void setAgeCodigo(Long ageCodigo) {
this.ageCodigo = ageCodigo;
}
public Date getAgeData() {
return ageData;
}
public void setAgeData(Date ageData) {
this.ageData = ageData;
}
public String getAgeHora() {
return ageHora;
}
public void setAgeHora(String ageHora) {
this.ageHora = ageHora;
}
public String getAgeCtrol() {
return ageCtrol;
}
public void setAgeCtrol(String ageCtrol) {
this.ageCtrol = ageCtrol;
}
public String getAgeProcesso() {
return ageProcesso;
}
public void setAgeProcesso(String ageProcesso) {
this.ageProcesso = ageProcesso;
}
public int getVarCodigo() {
return varCodigo;
}
public void setVarCodigo(int varCodigo) {
this.varCodigo = varCodigo;
}
public String getAgeConfirmacao() {
return ageConfirmacao;
}
public void setAgeConfirmacao(String ageConfirmacao) {
this.ageConfirmacao = ageConfirmacao;
}
public String getAgeObsData() {
return ageObsData;
}
public void setAgeObsData(String ageObsData) {
this.ageObsData = ageObsData;
}
public int getOpeCodigo() {
return opeCodigo;
}
public void setOpeCodigo(int opeCodigo) {
this.opeCodigo = opeCodigo;
}
public String getAgeObservacao() {
return ageObservacao;
}
public void setAgeObservacao(String ageObservacao) {
this.ageObservacao = ageObservacao;
}
public int getAgeQTDReus() {
return ageQTDReus;
}
public void setAgeQTDReus(int ageQTDReus) {
this.ageQTDReus = ageQTDReus;
}
public String getAgeMotCancelamento() {
return ageMotCancelamento;
}
public void setAgeMotCancelamento(String ageMotCancelamento) {
this.ageMotCancelamento = ageMotCancelamento;
}
public int getCdpCodigoDestino() {
return cdpCodigoDestino;
}
public void setCdpCodigoDestino(int CdpCodigoDestino) {
this.cdpCodigoDestino = CdpCodigoDestino;
}
public String getCdpNomeOrigem() {
return cdpNomeOrigem;
}
public void setCdpNomeOrigem(String cdpNomeOrigem) {
this.cdpNomeOrigem = cdpNomeOrigem;
}
public Collection <Forum> getForum() {
return forum;
}
public void setForum(Collection <Forum> forum) {
this.forum = forum;
}
}
@Entity
@Table(name = "forum")
public class Forum {
@Id
@GeneratedValue
@Column(name= "forCodigo")
private Long forCodigo;
@Column(name= "forNome")
private String forNome;
@Column(name= "forEndereco")
private String forEndereco;
@Column(name= "forComplemento")
private String forComplemento;
@Column(name= "forBairro")
private String forBairro;
@Column(name= "forCidade")
private String forCidade;
@Column(name= "forEstado")
private String forEstado;
@Column(name= "forCep")
private String forCep;
@Column(name= "forTelefone1")
private String forTelefone1;
@Column(name= "forTelefone1Ramal")
private String forTelefone1Ramal;
@Column(name= "forTelefone2")
private String forTelefone2;
@Column(name= "forTelefone2Ramal")
private String forTelefone2Ramal;
@Column(name= "forEMail")
private String forEMail;
@ManyToOne(fetch= FetchType.EAGER)
@JoinColumn(name="ageCodigo", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private Agendamento agendamento;
public Long getForCodigo()
{
return forCodigo;
}
public void setForCodigo(Long forCodigo)
{
this.forCodigo = forCodigo;
}
public String getForNome()
{
return forNome;
}
public void setForNome(String forNome)
{
this.forNome = forNome;
}
public String getForEndereco()
{
return forEndereco;
}
public void setForEndereco(String forEndereco)
{
this.forEndereco = forEndereco;
}
public String getForComplemento()
{
return forComplemento;
}
public void setForComplemento(String forComplemento)
{
this.forComplemento = forComplemento;
}
public String getForBairro()
{
return forBairro;
}
public void setForBairro(String forBairro)
{
this.forBairro = forBairro;
}
public String getForCidade()
{
return forCidade;
}
public void setForCidade(String forCidade)
{
this.forCidade = forCidade;
}
public String getForEstado()
{
return forEstado;
}
public void setForEstado(String forEstado)
{
this.forEstado = forEstado;
}
public String getForCep()
{
return forCep;
}
public void setForCep(String forCep)
{
this.forCep = forCep;
}
public String getForTelefone1()
{
return forTelefone1;
}
public void setForTelefone1(String forTelefone1)
{
this.forTelefone1 = forTelefone1;
}
public String getForTel1Ramal()
{
return forTelefone1Ramal;
}
public void setForTel1Ramal(String forTel1Ramal)
{
this.forTelefone1Ramal = forTel1Ramal;
}
public String getForTelefone2()
{
return forTelefone2;
}
public void setForTelefone2(String forTelefone2)
{
this.forTelefone2 = forTelefone2;
}
public String getForTel2Ramal()
{
return forTelefone2Ramal;
}
public void setForTel2Ramal(String forTel2Ramal)
{
this.forTelefone2Ramal = forTel2Ramal;
}
public String getForEMail()
{
return forEMail;
}
public void setForEMail(String forEMail)
{
this.forEMail = forEMail;
}
public Agendamento getAgendamento() {
return agendamento;
}
public void setAgendamento(Agendamento agendamento) {
this.agendamento = agendamento;
}
}