Consulta Pelo Hibernate Não Retorna Item Inserido

Tenho uma aplicação desenvolvida em Java com Prime Faces e Hibernate, banco de dados MySql. Um dos programas é o lançamento de notas fiscais, onde o usuário informa os dados principais da nota sendo que depois de salvar estes dados o sistema libera uma aba para inserção dos itens. Nesta aba (de itens) tenho os dados do item e conforme o usuário manda salvar este item é salvo no banco 1 a 1 e a cada inseção, atualiza um DataTable. Toda vez que o item é salvo é chamado o método abaixo para atualizar a lista de Itens da Nota Fiscal.
@SuppressWarnings(“unchecked”)
public List listaItensPorNotaFiscal(Long codigoDaNotaFiscal) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
try {
Criteria consulta = sessao.createCriteria(ItemDaNotaFiscal.class);
consulta.add(Restrictions.eq(“notaFiscal.codigo”, codigoDaNotaFiscal));
List resultado = consulta.list();
return resultado;
} catch (RuntimeException erro) {
throw erro;
} finally {
sessao.close();
}
}

Abaixo segue o método que utilizo para salvar o item da nota.
public void merge(ItemDaNotaFiscal itemDaNotaFiscal, ItemDoAlmoxarifado itemDoAlmoxarifado, ItemDoPedido itemDoPedido, ValidadeLote validadeLote, MovimentacaoContabil movimentacaoContabil) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
Transaction transacao = null;
try {
transacao = sessao.beginTransaction();

		Long codigoItemDaNotaFiscal = (Long) sessao.save(itemDaNotaFiscal);
		sessao.flush();
		itemDaNotaFiscal = (ItemDaNotaFiscal) sessao.get(ItemDaNotaFiscal.class, codigoItemDaNotaFiscal);

		if (itemDoAlmoxarifado != null) {
			if (itemDoAlmoxarifado.getCodigo() == null) {
				sessao.save(itemDoAlmoxarifado);
			} else {
				sessao.update(itemDoAlmoxarifado);
			}
		}

		if (itemDoPedido != null) {
			sessao.update(itemDoPedido);
		}

		if (validadeLote != null) {
			if (validadeLote.getCodigo() == null) {
				sessao.save(validadeLote);
			} else {
				sessao.update(validadeLote);
			}
		}

		if (movimentacaoContabil != null) {
			if(itemDaNotaFiscal.getNotaFiscal() != null && itemDaNotaFiscal.getNotaFiscal().getTipoDeOperacao() == 'S') {
				movimentacaoContabil.setCentroDeCusto(null);
				movimentacaoContabil.setSafra(null);
			}
			movimentacaoContabil.setItemDaNotaFiscal(itemDaNotaFiscal);
			sessao.save(movimentacaoContabil);
		}
		transacao.commit();
	} catch (Exception erro) {
		if (transacao != null)
			transacao.rollback();
		throw erro;
	} finally {
		sessao.close();
	}
}

Exceção? Mensagem de erro? Está salvando adequadamente?

Darlan, não esta dando nenhuma exceção. E confirmei no banco o item esta salva corretamente. Eu fiz um video debugando o método e demonstrando o erro. Se quiser e puder eu posso compartilhar a pasta com você. Nesta pasta eu demonstro os dois erros que esta acontecendo que eu abri chamado. Este de não atualizar a lista e um referente a não abrir meu relatório.

Se quiser ver o video para ter uma idéia melhor dos problemas, segue o link. https://drive.google.com/drive/folders/0B2lev_rer1UYTW9YSzBUSUh6Qlk?usp=sharing