6 Nov
2007

Querying Sub-Types with Linq

When querying with linq the background compiler automatically infers type information from any implementation of IEnumerable<T> as IEnumerable<anonymous type>. This gives us the IntelliSense we know and love while writing a query against a known type, without being bound to query results of which are of that type. Instead we can project onto new known […]

Read More
6 Nov
2007

DTOs / Presentation Model and ICriteria

When I posted about NHibernate Projections I used HQL (IQuery) in the repository to define the query. There are a some things that I don’t like about HQL. For example the query is defined as a string. Strings are problematic because errors can’t be detected at compile time. ICriteria queries go some way to alleviating […]

Read More
31 Oct
2007

Leopard Is Here

Category:UncategorizedTag: , :

I am installing the new Macintosh OS X Leopard as I write this. I am writing on my Dell laptop which I cannot wait to deprecate with my newly minted Windows machine (my MacBook Pro) which should I hope will be have a native Windows Vista x64 install before bedtime. After the Leopard install finishes I will partition the […]

Read More
31 Oct
2007

The Agile Concentration Cave

Category:UncategorizedTag: , :

The benefits of osmotic communication in a collaborative workspace are well known and documented. Building a collaborative common room work environment is a crucial component to building a truly hyper-performant team. Even thought this model of collaborative workspace is known to be effective, it isn’t everyone’s cup of tea. Some people fundamentally prefer a work environment wherein they cannot […]

Read More
31 Oct
2007

Are named queries outside of your DAO layer bad?

Both Hibernate and JPA support named queries and I would typically recommend keeping them inside your DAOs. However, using a typesafe Generic DAO implementation, you can have one class support all of your CRUD operations, and use named queries to support finder methods. But this approach requires that your service/manager layer know your named queries […]

Read More