GartenUmgraben
Erfahrenes Mitglied
Wenn ich in meiner Applikation eine Person durch Eingabe des Namens finden will, klappt es mit der unten stehenden Variante solange, bis ich in der Datenbank mal zwei Personen mit dem gleichen Namen eingebe (Name ist nicht der PK). Dabei würde ja bei "findPersonbyName" mehr als ein Wert zurückgegeben wodurch ein Fehler entsteht.
Es müsste ja irgendwie gehen dass der Rückgabewert eine Art Array ist wobei er dann auch mehrere Einträge verwalten können müsste. Leider weiss ich nicht genau wie ich ein Feld von personLocal - Einträgen anlegen soll. Statt
DB_2.ejb.Server.interfaces.PersonLocal personLocal = personHome.findPersonByName(name);
kann ich ja nicht einfach
Array personLocal = personHome.findPersonByName(name); schreiben ..denke ich mal.
Nur wie gehts dann ?
Es müsste ja irgendwie gehen dass der Rückgabewert eine Art Array ist wobei er dann auch mehrere Einträge verwalten können müsste. Leider weiss ich nicht genau wie ich ein Feld von personLocal - Einträgen anlegen soll. Statt
DB_2.ejb.Server.interfaces.PersonLocal personLocal = personHome.findPersonByName(name);
kann ich ja nicht einfach
Array personLocal = personHome.findPersonByName(name); schreiben ..denke ich mal.
Nur wie gehts dann ?
Code:
public DB_2.ejb.Server.genrated.VO.PersonValue findPersonByName(String name) {
DB_2.ejb.Server.interfaces.PersonLocalHome personHome = (DB_2.ejb.Server.interfaces.PersonLocalHome) ServiceLocator
.getServiceLocator().lookup(DB_2.ejb.Server.interfaces.PersonLocalHome.JNDI_NAME,
DB_2.ejb.Server.interfaces.PersonLocalHome.class);
try {
DB_2.ejb.Server.interfaces.PersonLocal personLocal = personHome.findPersonByName(name);
Integer personId = personLocal.getId();
String personName = personLocal.getName();
DB_2.ejb.Server.genrated.VO.PersonValue personValue = new DB_2.ejb.Server.genrated.VO.PersonValue(personId, name);
return personValue;
} catch (FinderException e) {
e.printStackTrace();
}
return null;
}