Comment faire pour exécuter la requête Nhibernate ICriteria avec setFetchMode (Lazy) lorsque paresseux = false défini dans HBM?

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

Question

Je voudrais d'exécuter une requête de critères avec lazy many-to-one. Ces associations sont définies comme lazy="false" dans le HBM. C'est parce que nous l'utilisons avec impatience 90% du projet.

Mais il y a quelques « grandes » questions qui devraient fonctionner comme 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">

Configuration de critères:

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

Il fonctionne de la manière opposée, mais pas de cette façon. Il va chercher avec impatience.

Le COL est 20K +, et ce serait une refactor massive pour faire de la manière inverse.

Comment puis-je forcer ce pour aller chercher paresseusement seulement quand je veux, et chercher avec impatience toutes les autres fois?

Merci à l'avance!

Était-ce utile?

La solution

lazy="false" dans le HBM ne peut pas être surchargée dans une requête (en plus d'être une mauvaise idée 99% du temps)

Vous devrez changer votre code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top