Como executar a consulta Nibernate Icriteria com setFetchMode (preguiçoso) quando preguiçoso = false definido no HBM?

StackOverflow https://stackoverflow.com/questions/3822684

Pergunta

Eu gostaria de executar uma consulta de critérios com associações preguiçosas para muitos para um. Essas associações são definidas como lazy="false" No HBM. É porque o usamos ansiosamente 90% do projeto.

Mas existem algumas consultas 'grandes' que devem ser executadas como lazy="proxy".

HBM:

<many-to-one name="DestinationElement" class="X" column="DstElemId" not-null="true" unique="false" cascade="save-update" outer-join="auto" fetch="select" lazy="false" index="IDX_Ass_DestElem">

Configuração de critérios:

criteria.SetFetchMode("DestinationElement", FetchMode.Lazy);

Funciona da maneira oposta, mas não dessa maneira. Ele busca ansiosamente.

O LOC tem 20k+, e seria um enorme refattor fazê -lo da maneira oposta.

Como posso forçar isso a buscar preguiçosamente quando quero e buscar ansiosamente todas as outras vezes?

Desde já, obrigado!

Foi útil?

Solução

lazy="false" No HBM não pode ser substituído em uma consulta (além de ser uma má idéia 99% das vezes)

Você terá que alterar seu código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top