Seguindo o estilo de codificação atual sim, mas isso não tem muito jeito mesmo. Para resolver, você teria que abrir a Session no começo do seu Listener no Swing e fechar antes de retornar dele. Outra solução é forçar a inicialização da UF através do Hibernate.initialize(proxy) ou ainda fazer com que o relacionamento seja eager.
Veja, isso não é um problema novo: na verdade, o uso errado da Session como você vinha fazendo antes é que escondia esse comportamento por gerar, como conseqüência, um cache infinito das coisas.
Mister… pelo que vejo és um usuário do genesis… Tu não terias como me enviar alguns arquivos de configuração simples do genesis e/ou algum pedaço de código pra eu estudar e adaptar? Ou então alguma referência para estudo… Assim mato de vez meu problema… Valeu mesmo.