No início do mês de Dezembro de 2010 foi lançado o release final da terceira versão do NHibernate, framework Open Source de persistência de dados e mapeamento objeto/relacional. Você pode baixar o NHibernate 3.0.0.GA através do site oficial em: http://nhforge.org/.
A versão anterior é a 2.1.2, que foi lançada a cerca de um ano atrás. Mais uma prova de que um projeto de código aberto pode ser muito bem sucedido. Nessa última versão o foco principal foi portar o NHibernate para a versão 3.5 da plataforma .NET Framework. Além disso, o time liderado por Fabio Maulo (http://fabiomaulo.blogspot.com/) implementou uma série de novidades, além de várias correções de Bugs.
O fato de agora o NHibernate ter sido portado para a versão 3.5 do .NET criou caminho para o universo das expressões Lambda, e consequentemente a própria linguagem LINQ. Isso abre um enorme leque de possibilidades no que diz respeito a novas formas de configurações, mapeamentos e consultas.
Nessa linha, o suporte à linguagem LINQ agora é nativo, no próprio assembly principal da ferramenta (NHibernate.dll), e não é mais necessário o assembly externo que antes tinha essa responsabilidade, o já antigo NHibernate.Linq.
O suporte à linguagem LINQ não foi só integrado ao assembly principal do NHibernate, ele passou por uma detalhada revisão, com o propósito de melhorar performance e aumentar a flexibilidade das pesquisas realizadas com essa linguagem.
Além do LINQ o NHibernate já oferecia várias outras formas de se realizar consultas. Um das principais e mais antigas é a linguagem HQL (Hibernate Query Language), originada lá no Hibernate e que possui uma sintaxe parecida com o próprio SQL.
Outra importante forma de se realizar consultas no NHibernate é API ICriteria, que implementa o padrão Query Object, sugerindo a utilização de um Objeto para representar uma consulta ao banco de dados.
Agora no NHibernate 3 temos uma nova forma de se construir Queries, é o chamado QueryOver. Com o QueryOver podemos criar queries tipadas usando a própria API ICriteria. Com ele o NHibernate combina o uso de Extension Methods (Métodos de Extensão) e Lambda Expressions (Expressões Lambda), para permitir uma forma 100% tipada de construir queries, mas sem o uso do LINQ. Para quem busca formas tipadas de se construir consultas, mas não é muito fã no LINQ, essa será uma boa opção.
Essas são as principais novidades que se destacam nessa terceira versão do NHibernate. Temos uma enorme lista de correções de Bugs e melhorias que você encontra detalhadamente no Release Notes do NHibernate 3.0, que está junto com o download.
Além disso, em conjunto com o lançamento dessa versão, temos o lançamento do livro NHibernate 3.0 Cookbook (http://bit.ly/cAjqly), de autoria de Jason Dentler. Esse livro é uma ótima referência sobre NHiberante, já com exemplos escritos e testados nessa última versão da ferramenta.
Aqui na própria .NET Magazine já publicamos vários artigos sobre NHibernate, e alguns já falando sobre a versão 3.0. Fique atento, pois continuaremos a trazer mais novidades desse excelente framework de persistência de dados e mapeamento objeto/relacional. Grande Abraço e até a próxima!