Evite que o Dozer ative o carregamento lento do Hibernate

Estou usando transações Spring para que a transação ainda esteja ativa quando ocorrer a conversão de POJO para DT

Gostaria de impedir que o Dozer acione o carregamento lento, para que consultas SQL ocultas nunca ocorram: todas as buscas devem ser feitas explicitamente via HQL (para obter o melhor controle sobre o desempenho

É uma boa prática (não consigo encontrá-la documentada em nenhum lugar)?

Como fazer isso com segurança?

Tentei isso antes da conversão do DTO:

PlatformTransactionManager tm = (PlatformTransactionManager) SingletonFactoryProvider.getSingletonFactory().getSingleton("transactionManager");
tm.commit(tm.getTransaction(new DefaultTransactionDefinition()));

Não sei o que acontece com a transação, mas a sessão do Hibernate não é fechada e o carregamento lento ainda ocorr

Tentei o seguinte:

SessionFactory sf = (SessionFactory) SingletonFactoryProvider.getSingletonFactory().getSingleton("sessionFactory");
sf.getCurrentSession().clear();
sf.getCurrentSession().close();

E evita o carregamento lento, mas é uma boa prática manipular a sessão diretamente na camada do aplicativo (que é chamada de "fachada" no meu projeto)? Quais efeitos colaterais negativos devo temer? (Eu já vi que testes envolvendo conversões POJO -> DTO não podiam mais ser iniciados por meio das classes de teste AbstractTransactionnalDatasource Spring, porque essas classes tentam acionar uma reversão em uma transação que não está mais vinculada a uma sessão ativa).

Também tentei definir a propagação para NOT_SUPPORTED ou REQUIRES_NEW, mas reutiliza a sessão atual do Hibernate e não impede o carregamento lento.

questionAnswers(6)

yourAnswerToTheQuestion