Hallo!
Im Javamagazin 4.08 habe ich den Preload Pattern für Hibernate kennengelernt. Hier ist die einzige online quelle die ich darüber finden konnte:
http://www.kiltz.de/Wiki.jsp?page=Hibernate.Mapping.Lazy
Meine Frage:
Hat es schon jemand geschafft den Pattern erfolgreich in nhibernate und c# umzusetzen?
Meine Probleme:
Die Zeile
Code:
if( Hibernate.isInitialized(entity) ) {
in der methode "preload" liefert IMMER true zurück
UND
Beim Zugriff auf einen Getter der ein mit "many-to-one" gemapptes Objekt zurückliefern soll, bekomme ich zwar ein Objekt vom erwarteten Typ, aber es ist nur ein Proxy und alle Properteies sind "null"
Code:
private Object invokeGetter(Object entity, Preload preload) {
String getterName = getPropertyGetterName(preload.getProperty());
try {
Method method = preload.getModelClass().getMethod(getterName, (Class[]) null);
return method.invoke(entity, (Object[]) null);
} catch (Exception ex) {
throw new RuntimeException("Can't invoke getter for property: " +
preload.getProperty(), ex);
}
}
Danke für Hilfe im voraus :)
MFG