Hibernate não traz informação atualizada

Bom dia galera, tudo bem?
Pessoal, to com um problema aqui que ta bem difícil de resolver.
O negócio é o seguinte…tenho uma tabela usuário que possui um código que indica o país de origem dele para pode carregar o idioma correto. O problema é que quando o usuário altera o idioma o hibernate não trás a informação atualizada com o novo código de idioma, eu já olhei no banco e o código ta mudando porém o hibernate trás o código antigo, como se tivesse cacheado o resultado e não atualiza com a nova informação. Alguém sabe me dizer como resolvo isso? Segue alguns trechos de código abaixo:

Construindo o sessionFactory:

public static Configuration buildHibernateConfigurationObject() {
		System.out.println("started the configuration of the hibernate mapping");
		Configuration cfg = new Configuration();
		cfg.addAnnotatedClass(UserTB.class);
		cfg.addAnnotatedClass(UserLocaleTB.class);
		cfg.configure();
		ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).build();		
		try {
			sessionFactory = cfg.configure().buildSessionFactory(serviceRegistry);
			System.out.println("finished configuring the hibernate mapping");
		}catch(HibernateException ex) {
			System.out.println("Exception occurred while trying to build the sessionFactory\n");
			ex.printStackTrace();
		}
		
		return cfg;
	}

Abrindo a session:
Nesse código abaixo fiz um teste fazendo com que a cada chamada desse método retornasse um sessionFactory.openSession e funcionou corretamente, o problema é que fazendo isso estoura o pool de conexões.

public static Session getSession() {
		Session session = (Session) threadLocal.get();
		if(session == null) {
			session = sessionFactory.openSession();
			threadLocal.set(session);
		}
		
		return session;
	}

Qualquer tipo de ajuda será de grande valia!