Не выполняйте дорогую работу (например, открывая сеанс) в конструкторе. В лучшем случае используйте только назначения в конструкторе. В вашем случае при размещении компонента NetBeans вызывает его конструктор. Который не может подключиться, потому что, вероятно, соответствующие конфигурации не загружены, или потому что путь к классам правильный, или что-то еще.
создайте метод получения и установки для session
и используйте ленивую инициализацию в методе получения:
public Session getSession() {
if (session == null) {
HibernateUtils.getSessionFactory().openSession();
}
}
Тем не менее, я думаю, что у вас могут быть проблемы с обработкой сеанса. Возможно, вы можете взглянуть на getCurrentSession()
метод SessionFactory
.
Другое дело - не смешивайте доступ к базе данных и пользовательский интерфейс. Переместите обработку данных за пределы своих панелей.