2011-10-25 3 views
0

J'utilise beaucoup de classes par mappage de table (sous-classes avec discriminateur). Existe-t-il un moyen d'activer la mise en cache de second niveau pour une sous-classe spécifique uniquement? la version NHibernate est 3.1.0Cache de second niveau NHibernate pour la sous-classe uniquement

Si je mets la balise <cache usage="read-only"/> juste après la balise de sous-classe, je reçois une erreur lors de l'exécution (indique que le cache est un élément enfant non valide pour la sous-classe d'élément).

<class name="MyDomain.ParentClass, MyDomain" table="MyDomainClass">  
    <subclass name="MyDomain.SubClass, MyDomain" discriminator-value="SubClass">  
    </subclass>  
</class> 

Répondre

1

NHibernate documentation (. Ch 25.1) dit:

Ajouter < utilisation cache = "lecture-écriture | nonstrict-lecture-écriture | lecture seule"/> (juste après <classe>) dans le mappage des entités que vous souhaitez mettre en cache. Il fonctionne également pour les collections (sac, liste, carte, ensemble, ...).

Donc, malheureusement, pas de sous-classe.

Questions connexes