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 errore : "collection was not an association") mentre tramite hql il tutto funziona come da "manuale".

Quindi avendo una entity A con una collection di value objects B non sarà possibile creare un Criteria e un successivo Alias/Criteria per effetuare filtri sulle proprietà di B.