Hej,
znów mam mały problem:/
Stworzyłem stronę xhtml, która ma za zadanie wyświetlić dane z BD. Cokolwiek jednak nie robię, cały czas dostaje komunikat "No records found". Możecie zerknąć, co jest nie tak?
Z całości bibliotek, plików konfiguracyjnych itp. są chyba najważniejsze poniższe 2 rzeczy (insert into table przez formularz działa bez problemu):
Klasa rezerwacja. Metoda save dziala bez zarzutu.
Ponieważ formularz nie pobiera mi danych z tabeli wychodze z założenia, że prawdopodobnie coś nie tak jest w metodzie pokazRezerwacje... Tu załączam moje nieudane próby napisania jej..
/**
*
*/
package com.kamil.rezerwacja;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
//import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.kamil.rezerwacja.HibernateUtil;
/**
* @author Kamil
*
*/
@Entity
@Table
public class Rezerwacja {
private static final String SUCCESS = "success";
private static final String ERROR = "error";
private int idRezerwacji;
private int nrPokoju;
private String imie;
private String nazwisko;
private String firma;
private String adresEMail;
private String nrTelefonu;
private String notatka;
private Date dataPrzyjazdu;
private Date dataOdjazdu;
private String idKlienta;
private String idPracownika;
@Id
@GeneratedValue
public int getIdRezerwacji() {
return idRezerwacji;
}
public void setIdRezerwacji(int idRezerwacji) {
this.idRezerwacji = idRezerwacji;
}
public int getNrPokoju() {
return nrPokoju;
}
public void setNrPokoju(int nrPokoju) {
this.nrPokoju = nrPokoju;
}
public String getImie() {
return imie;
}
public void setImie(String imie) {
this.imie = imie;
}
public String getNazwisko() {
return nazwisko;
}
public void setNazwisko(String nazwisko) {
this.nazwisko = nazwisko;
}
public String getFirma() {
return firma;
}
public void setFirma(String firma) {
this.firma = firma;
}
public String getAdresEMail() {
return adresEMail;
}
public void setAdresEMail(String adresEMail) {
this.adresEMail = adresEMail;
}
public String getNrTelefonu() {
return nrTelefonu;
}
public void setNrTelefonu(String nrTelefonu) {
this.nrTelefonu = nrTelefonu;
}
public String getNotatka() {
return notatka;
}
public void setNotatka(String notatka) {
this.notatka = notatka;
}
public String getIdKlienta() {
return idKlienta;
}
public void setIdKlienta(String idKlienta) {
this.idKlienta = idKlienta;
}
public String getIdPracownika() {
return idPracownika;
}
public void setIdPracownika(String idPracownika) {
this.idPracownika = idPracownika;
}
public Date getDataPrzyjazdu() {
return dataPrzyjazdu;
}
public void setDataPrzyjazdu(Date dataPrzyjazdu) {
this.dataPrzyjazdu = dataPrzyjazdu;
}
public Date getDataOdjazdu() {
return dataOdjazdu;
}
public void setDataOdjazdu(Date dataOdjazdu) {
this.dataOdjazdu = dataOdjazdu;
}
public String save (){
String result = null;
Session session = HibernateUtil.getSessionFactory().openSession();
Rezerwacja rez = new Rezerwacja();
rez.setNrPokoju(this.getNrPokoju());
rez.setImie(this.getImie());
rez.setNazwisko(this.getNazwisko());
rez.setAdresEMail(this.getAdresEMail());
rez.setNrTelefonu(this.getNrTelefonu());
rez.setNotatka(this.getNotatka());
rez.setDataPrzyjazdu(this.getDataPrzyjazdu());
rez.setDataOdjazdu(this.getDataOdjazdu());
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(rez);
tx.commit();
result = SUCCESS;
} catch (Exception e) {
if (tx != null) {
tx.rollback();
result = ERROR;
e.printStackTrace();
}
} finally {
session.close();
}
return result;
}
public List<Rezerwacja> pokazRezerwacje1() {
Session session = HibernateUtil.getSessionFactory().openSession();
List<Rezerwacja> pokazRezerwacje = session.createCriteria(Rezerwacja.class).list();
return pokazRezerwacje;
}
public List<Rezerwacja> pokazRezerwacje2() {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery("from Rezerwacja");
List <Rezerwacja> g1 = q.list();
return g1;
}
public List<Rezerwacja> pokazRezerwacje3() {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
tx = session.beginTransaction();
//Native Query
Query q = session.createSQLQuery("select * from Rezerwacja");
List<Rezerwacja[]> ls = (List<Rezerwacja[]>) q.list();
List<Rezerwacja> users = new ArrayList<Rezerwacja>();
for (Object[] row : ls) { // go throw each row
Rezerwacja rez = new Rezerwacja();
rez.setImie((String) row[0]);
rez.setNazwisko((String) row[1]);
}
return users;
}
public List<Rezerwacja> pokazRezerwacje4() {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
List<Rezerwacja> pokazRezerwacje = new ArrayList<Rezerwacja>();
try {
tx = session.beginTransaction();
Query q = session.createQuery("from Rezerwacja");
for (Rezerwacja zmienna : pokazRezerwacje) {
Rezerwacja rez = new Rezerwacja();
rez.setIdRezerwacji(zmienna.getIdRezerwacji());
rez.setNrPokoju(zmienna.getNrPokoju());
rez.setImie(zmienna.getImie());
rez.setNazwisko(zmienna.getNazwisko());
rez.setFirma(zmienna.getFirma());
rez.setNrTelefonu(zmienna.getNrTelefonu());
rez.setNotatka(zmienna.getNotatka());
rez.setDataPrzyjazdu(zmienna.getDataPrzyjazdu());
rez.setDataOdjazdu(zmienna.getDataOdjazdu());
rez.setIdKlienta(zmienna.getIdKlienta());
rez.setIdPracownika(zmienna.getIdPracownika());
pokazRezerwacje.add(rez);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
session.close();
}
return pokazRezerwacje;
}
public List<Rezerwacja> pokazRezerwacje6() {
Transaction tx = null;
Session session = HibernateUtil.getSessionFactory().openSession();
tx = session.beginTransaction();
//Native Query
Query q = session.createSQLQuery("select adresemail, imie from user");
List<Object[]> ls = (List<Object[]>) q.list();
List<Rezerwacja> users = new ArrayList<Rezerwacja>();
for (Object[] row : ls) { // go throw each row
Rezerwacja user = new Rezerwacja(); // instantiate a new User
user.setAdresEMail((String) row[0]); // set it's first name
user.setImie((String) row[1]); // set it's last name
users.add(user); // add the User instances to the list "users"
}
return users;
}
List <Rezerwacja> myList;
public List<Rezerwacja> pokazRezerwacje() {
try {
myList= new ArrayList<Rezerwacja>();
} catch (Exception e) {
e.printStackTrace();
}
return myList;
}
}
Poniżej formularz:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- <web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
-->
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h:form>
<p:dataTable var="aktywuj" action="#{rezerwacja.pokazRezerwacje()}">
<p:column headerText="ID Rezerwacji">
<h:outputText value="#{rezerwacja.idRezerwacji}" />
</p:column>
<p:column headerText="Imie">
<h:outputText value="#{rezerwacja.imie}" />
</p:column>
<p:column headerText="Nazwisko">
<h:outputText value="#{rezerwacja.nazwisko}" />
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html>
Ma ktoś jakiś pomysł?