Hallo,
ich beschäftige mich seit kurzem mit Datenbankprogrammierung und schreibe gerade an einer Anwendung. Ich verwende dazu hibernate und es hat auch alles gut funktioniert aber jetzt bekomme ich immer folgende Konsolenausgabe:
Die Launcher Klasse:
und die Methode die als fehlerquelle angegeben ist:
Vielen Dank für die Hilfe schonmal im voraus
ich beschäftige mich seit kurzem mit Datenbankprogrammierung und schreibe gerade an einer Anwendung. Ich verwende dazu hibernate und es hat auch alles gut funktioniert aber jetzt bekomme ich immer folgende Konsolenausgabe:
Code:
Jan 27, 2017 5:58:44 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.7.Final}
Jan 27, 2017 5:58:44 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jan 27, 2017 5:58:44 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
Jan 27, 2017 5:58:44 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
Jan 27, 2017 5:58:44 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/student?useSSL=false]
Jan 27, 2017 5:58:44 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=testUser, password=****}
Jan 27, 2017 5:58:44 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
Jan 27, 2017 5:58:44 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
Jan 27, 2017 5:58:45 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Jan 27, 2017 5:58:46 PM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
INFO: HHH000397: Using ASTQueryTranslatorFactory
Hibernate: select student0_.Ausweisnr as Ausweisn1_0_, student0_.Vorname as Vorname2_0_, student0_.Klasse as Klasse3_0_, student0_.Nachname as Nachname4_0_, student0_.Anwesend as Anwesend5_0_ from student student0_ where student0_.Anwesend='Ja'
Jan 27, 2017 5:58:46 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://localhost:3306/student?useSSL=false]
Exception in thread "main" java.lang.IllegalStateException: EntityManagerFactory is closed
at org.hibernate.internal.SessionFactoryImpl.validateNotClosed(SessionFactoryImpl.java:490)
at org.hibernate.internal.SessionFactoryImpl.getCache(SessionFactoryImpl.java:761)
at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:141)
at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29)
at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:248)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1202)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:441)
at sas.SQL.getListOnline(SQL.java:164)
at sas.SQL.updateLists(SQL.java:93)
at sas.Launcher.main(Launcher.java:31)
Java:
import java.awt.event.ActionListener;
import java.awt.event.ComponentListener;
import java.util.List;
public class Launcher {
public static void main(String[] args) {
SQL sql;
SASBorder window;
ComponentListener cl;
ActionListener al;
sql = new SQL();
window = Window.getInstance(sql);
sql.setWindow(window);
al = new ActionHandler(sql,window);
window.getBtnNewCreate().addActionListener(al);
window.getBtnEditEnter().addActionListener(al);
window.getBtnEditSearch().addActionListener(al);
window.getBtnEditEnter().setEnabled(false);
sql.updateLists();
cl = new ComponentHandler(window);
window.addComponentListener(cl);
}
}
und die Methode die als fehlerquelle angegeben ist:
Java:
@SuppressWarnings("unchecked")
public List<Student> getListOnline(String state) {
try {
Session session = sf.openSession();
session.beginTransaction();
list = (List<Student>) session.createQuery("from Student s where s.online = '" + state + "'")
.getResultList();
session.close();
return list;
} finally {
sf.close();
}
}
Vielen Dank für die Hilfe schonmal im voraus