Hibernate und JSF-Tabelle

Status
Nicht offen für weitere Antworten.

melly

Mitglied
Hallo,

ich habe eine Hibernate-Klasse 'Person' für eine Datenbanktabelle Person.

Ich habe ein DropDown Menü in dem eine Person (PersonId) ausgewählt werden kann und die dazugehörigen Daten (zu dieser einen Person) werden dann in einer Tabelle angezeigt.

Nun möchte ich aber den kompletten Inhalt der Datenbank in einer Tabelle anzeigen, finde aber nicht die richtige Syntax. So sieht der Code mit Auswahl der PersonID aus:

try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();

Person person = (Person) session.load(Person.class, PersonId);
.................



Weiß jemand wie ich den kompletten Inhalt der Tabelle auslesen kann, denn so wird mir nur der eine Datensatz zur angegebenen PersonId angezeigt.

Sowas wie Person [] persons = (Person[])session.load(Person.class..........

Danke, ich steh irgendwie auf dem Schlauch....

Grüße Melly
 
Also einfach alle Personen aus der DB auslesen?
Das geht zum Beispiel so:
[highlight=Java]session.createQuery("from Person").list()[/highlight]

Gruß, GG
 
Super, vielen Dank, danach habe ich gesucht...

Habs jetzt so umgeschrieben:

[HIGHLIGHT="Java"]private Person[] persons;

............................................
.................

private void showTablePerson() {

try {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();

List personList = session.createQuery("from Person").list();
persons = (Person[]) personList.toArray(new Person[0]);

session.close();

} catch (Exception e) {
e.printStackTrace();
}
}[/HIGHLIGHT]

und in der JSF-Tabelle mit Bind to Data 'persons' ausgewählt.

Grüße
Melly
 
Zuletzt bearbeitet von einem Moderator:
Funktioniert das so?
Müsste es nicht nur heißen:
[highlight=Java]persons = (Person[])personList.toArray()[/highlight]
?

OT: Man, was heißt denn dieses "Link mit Fenster" das über meinem Code steht??
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben