NHibernate

NHibernate : dynamic-component e dominio estendibile

In questi giorni sto utilizzando una funzionalità piuttosto interessante di NHibernate, ovvero la possibilità di mappare un domain model "dinamico" tramite dynamic-component. Questa funzionalità permette di mappare in modo speciale alcune colonne di una tabella di un entità, infatti al posto di utilizzarle come singole proprietà vengono inserite in un dictionary (possono essere sia tipo semplici che vere e proprie entity). Qui un link che mostra il funzionamento : http://ayende.com/Blog/archive/2009/04/11/nhibernate-mapping-ltdynamic-componentgt.aspx Qui invece un link che  mostra come modificare la configurazione senza agire sul file di mapping, ma editando "on-the-fly" prima che la session-factory venga creata: http://www.junasoftware.com/blog/custom-domain-using-nhibernate-dynamic-component.aspx Ad un primo sguardo può sembrare un comportamento particolare, ma...

NHibernate : cache di 2° livello e connessione manuale

Dopo aver superato i piccoli problemi tecnici che mi impedivano di "postare" (grazie al buon Andrea) eccomi nuovamente operativo . Ecco una casistica che abbiamo affrontato ultimamente all'interno del team di sviluppo, ovvero l'utilizzo di cache di 2° livello e connessione manuale con NHibernate (purtroppo utilizziamo ancora la 1.2.1). Come da post del buon Ayende, nel momento in cui si utilizza una connesione manuale la cache di 2° livello non funziona più correttamente. Dopo le prime ricerche siamo giunti alla soluzione che utilizziamo attualmente, ovvero realizzare un ConnectionProvider personalizzato. Nel nostro caso abbiamo bisogno di utilizzare la connessione ad un DB A o...

NHibernate e collezioni di Value Objects

In questi giorni sto lavorando su un grosso portale e sto utilizzando (come ormai faccio da un pò di tempo) l'accoppiata DDD/NHibernate e il mapping di NHibernate permette con semplicità di gestire tutte le casistiche che finora ho riscontrato senza nessuna problematica (con mia grande soddisfazione :). Mi sono trovato però di fronte ad un piccolo problema : normalmente utilizzo le Criteria API per effettuare le mie interrogazioni (per ridurre al minimo gli errori legati alla digitazione delle stringhe hql e per facilitarmi la creazione di interrogazioni dinamiche) ma ho notato come non sia possibile effettuare una join su una collezione di "component" tramite Criteria (messaggio di...