mcdroemmel
Mitglied
Hallo,
habe in meinen EJB 3.0 Beans folgendes eigentlich simples Problem.
Ich verwende POJOs (in Verbindung mit JPA) zur Ablage der Daten.
Also eine einfache Klasse wie:
public class a
{
private long id;
private long fkid;
private string description;
.... // getter and setters
}
Darüber hinaus verwende ich eine Ableitung einer solchen Klasse um zusätzlich für die Anwenung aufgelöst Foreign-Key-Beziehungen im Objekt zu speichern, Im Beispiel oben ist fkid eine Id eines Fremdschlüssel einer anderen Tabelle.
Also:
public class a2 extends a
{
private String fkvalue;
.... // getter and setters
}
Diese Klasse enthält jetzt im Attribut fkvalue einen Textwert zur Id aus der referierten Tabelle.
Nun habe ich eine Bean-Methode zur Persistierung der Daten. Diese bekommt aber eine Instanz der Klasse a2 zur Persistierung.
Diese sieht etwa wie folgt aus
public a2 persistdata (thedata a2)
{
...
a temp = new a();
a2 result = new a2();
temp = thedata;
em.persist(temp) ;
result.setId(temp.getId());
result.setfkId(temp.getFkId();
...
}
In Zeile 3 sieht man ja, dass ich eine Instanz der Klasse a2 problemlos einer Instanz der Eltern-Klasse a zuordnen kann. Damit erspare ich mir den Aufruf der Getter und Setter-Methoden für jedes Attribut.
Umgekehrt scheint das aber nicht zu gehen. Ich muss jede Getter- und Setter-Methode der Attribute einzeln aufrufen.
Weiß hier jemand vielleicht einen eleganteren Weg?
Gruß+Dank
McD
habe in meinen EJB 3.0 Beans folgendes eigentlich simples Problem.
Ich verwende POJOs (in Verbindung mit JPA) zur Ablage der Daten.
Also eine einfache Klasse wie:
public class a
{
private long id;
private long fkid;
private string description;
.... // getter and setters
}
Darüber hinaus verwende ich eine Ableitung einer solchen Klasse um zusätzlich für die Anwenung aufgelöst Foreign-Key-Beziehungen im Objekt zu speichern, Im Beispiel oben ist fkid eine Id eines Fremdschlüssel einer anderen Tabelle.
Also:
public class a2 extends a
{
private String fkvalue;
.... // getter and setters
}
Diese Klasse enthält jetzt im Attribut fkvalue einen Textwert zur Id aus der referierten Tabelle.
Nun habe ich eine Bean-Methode zur Persistierung der Daten. Diese bekommt aber eine Instanz der Klasse a2 zur Persistierung.
Diese sieht etwa wie folgt aus
public a2 persistdata (thedata a2)
{
...
a temp = new a();
a2 result = new a2();
temp = thedata;
em.persist(temp) ;
result.setId(temp.getId());
result.setfkId(temp.getFkId();
...
}
In Zeile 3 sieht man ja, dass ich eine Instanz der Klasse a2 problemlos einer Instanz der Eltern-Klasse a zuordnen kann. Damit erspare ich mir den Aufruf der Getter und Setter-Methoden für jedes Attribut.
Umgekehrt scheint das aber nicht zu gehen. Ich muss jede Getter- und Setter-Methode der Attribute einzeln aufrufen.
Weiß hier jemand vielleicht einen eleganteren Weg?
Gruß+Dank
McD