Criar Session do Hibernate por meio de Thread

Estou com o seguinte problema:

Tenho uma aplicação Desktop utilizando Hibernate, porém ao iniciar essa aplicação é feita a abertura da session do Hibernate, este é um processo demorado que congela a GUI. Estou tentando delegar a abertura da sessão a uma Thread diferente da thread principal, porém não está funcionando.
Eu criei uma Thread (Observable) que instancia uma session e notifica a GUI (Observer), porém a sessão não é criada.

Existe alguma motivo para isso ocorrer? Existe outra forma de fazer?