Hallo Zusammen,
ich habe ein kleines Problem mit Annotations (mal wieder). Folgende Situation:
Ich habe mein Business Objects die alle von einer BaseEntity erben. Die BaseEntitiy sieht so aus (Fokus auf der Methode
isNew):
Code:
@MappedSuperclass
public abstract class BaseEntity {
...
@Transient
public boolean isNew() {
return (this.id == null);
}
}
Die Methode
isNew benötige ich in meinen JSPs um zu schauen ob das Objeckt neu ist oder nicht:
userForm.jsp:Code:
<c:choose>
<c:when test="${user.new}">
<fmt:message key="user.management.form.user.title.new.user" />
</c:when>
...
Folgende Exception wird geworfen:
SCHWERWIEGEND: could not initialize proxy - no Session
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
at my.package.business.objects.User$$EnhancerByCGLIB$$f8eb70da.isNew(<generated>)
Ich habe mich bis jetzt bei meiner Anwendung sehr stark am
Petclinic Beispiel von Spring MVC orientiert. Der einzige Unterschied liegt darin, dass ich Annotations benutze und das PetClinic Beispiel mit einer XML Config Mapping Datei für Hibernate arbeitet.
In dieser Datei wird im Petclinic Beispiel auch das
default-lazy auf
false gestellt.
Code:
<hibernate-mapping auto-import="true" default-lazy="false">
Ich habe bereits hier
http://forum.hibernate.org/viewtopic.php?t=984367 nach gefragt wie ich das mit Annotations einstellen kann. Leider bis jetzt keine Antwort bekommen.
Frage nun hier: Welche Annotations muss ich benutzen damit es funktioniert. Ich verstehe eh nicht so ganz warum ich diese Exception bekomme, da ich nichts nachladen will. Und darum geht es doch grundsätzlich bei der Lazy Einstellung oder habe ich das falsch verstanden?
Vielleicht hat jemand von euch Lust mir zu helfen oder hat einen kleinen Tipp für mich. Bin für alles dankbar.
Vielen Dank an euch.
Viele Grüße
Oliver