2010-01-09 5 views
5

Qu'est-ce que NHibernate Interceptor, et à quoi sert-il dans une application? En outre, in this article, j'ai appris que l'utilisation de NHibernate rend l'application de bureau plus lente au démarrage. Pour éviter cela, j'ai besoin de sauvegarder la configuration dans un fichier et de la charger ensuite dans le fichier sauvegardé. Comment puis je faire ça? Je n'ai trouvé aucun exemple dans ce tutoriel.NHibernate Interceptor - Qu'est-ce que c'est?

+0

Il y a deux questions. Veuillez créer des questions individuelles pour chaque problème. –

Répondre

8

Un intercepteur vous permet d'exécuter des fonctionnalités supplémentaires lorsqu'une entité est récupéré/supprimé/mise à jour/inséré dans le DB ...

Interceptors article

Hibernate doc

other useful info

de faire votre application est plus lente: Je vous suggère de ne regarder que l'optimisation du temps de démarrage, quand cela devient vraiment un problème. Lorsque vous construisez une session-factory, NHibernate analyse tous les mappages, et c'est une opération un peu coûteuse. Mais, tant que vous avez un nombre limité d'entités, la performance n'est pas si importante.
Je n'ai jamais eu à optimiser l'initialisation de NHibernate, à cause de la lenteur des temps de démarrage. Je suggérerais que vous vous concentriez d'abord sur le cœur de votre application, le problème que vous essayez de résoudre, et ensuite sur la façon dont vous pourriez améliorer les performances de démarrage. (Si jamais vous deviez le faire).

+3

FYI, Hibernate doc lien ne fonctionne plus. –

6

Interceptors, comme son nom l'indique, vous permet d'intercepter les opérations NHibernate (enregistrer/mettre à jour/supprimer/charger/flush/etc).

Une API plus récente et plus flexible pour y parvenir est la event system.

A propos de la sérialisation de la configuration, le code est là, c'est la classe Effectus.Infrastructure.BootStrapper qui est appelée au démarrage de l'application.

Questions connexes