Je voudrais savoir s'il existe un moyen de désactiver le chargement automatique des enregistrements enfants dans nHibernate (pour un: plusieurs relations).nhibernate - désactive le chargement automatique paresseux des enregistrements enfant pour une ou plusieurs relations
Nous pouvons facilement désactiver le chargement paresseux sur les propriétés, mais ce que je veux, c'est désactiver tout type de chargement automatique (paresseux et non paresseux à la fois). Je veux seulement charger des données par requête (c.-à-d. HQL ou Criteria)
Je voudrais toujours définir la relation entre les enregistrements enfant-parents dans le fichier de mappage pour faciliter HQL et être en mesure de rejoindre les entités enfants-parents, mais je ne veulent que les enregistrements enfants soient chargés dans le cadre de l'enregistrement parent, sauf si une requête sur l'enregistrement parent indique explicitement que (par le biais de fetch impatient, etc). Exemple: L'extraction de l'enregistrement du service à partir de la base de données ne doit pas extraire tous les enregistrements d'employés de la base de données, car il ne sera peut-être jamais nécessaire.
Une option ici est de définir la collection Employés sur Département comme charge paresseuse. Le problème avec cette approche est qu'une fois que l'objet est donné à l'API appelante, il peut 'toucher' la propriété de chargement paresseux et cela récupérera la liste entière à partir de la base de données.
J'ai essayé d'utiliser 'expict' - pour déconnecter l'objet mais il ne semble pas fonctionner à tout moment et ne fait pas d'expulsion profonde sur l'objet. Plus il abstrait le type de propriété chargé paresseux avec une classe proxy qui joue des ravages plus tard dans le code où nous essayons d'opérer sur l'objet par réflexion et il rencontre le type non dépensé sur l'objet. Je suis un débutant à nHibernate, des pointeurs ou de l'aide serait d'une grande aide.
Vous avez une faute de frappe: disbale -> Désactiver – Anthony