Ich habe eine ganze Reihe von Nachforschungen darüber gemacht, ohne Glück, aber alle Antworten neigen dazu, auf die Sitzungskontexteinstellungen in der Konfigurationsdatei hinzuweisen. Was komisch ist, ist, dass ich eine Sitzungsverbindung bekomme, wenn ich das erste Mal auf die Seite klicke (und daher eine erfolgreiche Ergebnismenge), aber beim Nachladen bekomme ich die folgende Ausnahme: org.hibernate.SessionException: Sitzung ist geschlossen!Ein Problem mit org.hibernate.SessionException: Sitzung ist geschlossen! in Hibernate
Hier sind meine Config-Einstellungen, die nicht im Zusammenhang Verbindungszeichenfolge DB:
<property name="hibernate.show_sql">false</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="hibernate.cache.use_query_cache">false</property>
<property name="hibernate.cache.use_minimal_puts">false</property>
Hier ein Beispiel für einen Anruf ich, dass die Situation erzeugt ich oben beschrieben.
public T get(int id) {
session.beginTransaction();
T type;
try {
type = getTypeClass().cast(session.get(getTypeClass(), id));
} catch (ClassCastException classCastException) {
throw new ClassCastException(classCastException.getMessage());
}
session.getTransaction().commit();
return type;
}
Die Sitzungs variable Referenz auf ein statisches Feld, das die aktuelle Sitzung enthält. Alle Sitzungsverbindungsdetails sind Lehrbuch-Referenzhandbuch. Zum Beispiel, hier ist mein Hibernate Session-Dienstprogramm:
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateSessionFactoryUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
return new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Haben Sie eine Implementierung, um die Sitzung zu beenden/zu beenden? –