Ayende @ Rahien

Refunds available at head office

NHibernate 2.0 Final is out!

Guys, gals and its. I am overjoyed to tell you that NHibernate 2.0 has been released.

You can get it directly from the download page.

I would like to thank to the NHibernate project lead, Fabio Maulo, for doing such an awesome amount of work, and getting this out.

Thanks, Fabio.

I am not going to list all the features, suffice to say that we are now in a comparable position to Hibernate 3.2.

Have fun!

Comments

Will Shaver
08/23/2008 04:24 PM by
Will Shaver

More than compatible, we have a number of features that Hibernate 3.2 doesn't have! Try this in Hibernate:

//finds a list of People with the same 'Name' property

ICriteria criteria = session.CreateCriteria(typeof(Person));

criteria.SetProjection(Projections.ProjectionList()

  .Add(Projections.Max("Id"))

  .Add(Projections.GroupProperty("Name")))

  .Add(Restrictions.Gt(Projections.Count("Name"), 1));

IList results = criteria.List();

:)

(Hint: It uses 'having' style queries which last time I checked weren't supported in Hibernate.)

Brian Chavez
08/23/2008 04:52 PM by
Brian Chavez

Heck yeah! NHibernate ROCKS!

Thanks Ayende, Thanks Fabio.

alberto
08/23/2008 05:31 PM by
alberto

Congrats. No LinqToNH yet, though? I read somewhere (the list?) it would be included with NH 2.0.

Ayende Rahien
08/23/2008 05:40 PM by
Ayende Rahien

Alberto,

No Linq to NH is planned for 2.1

Carlos
08/23/2008 07:12 PM by
Carlos

WTF is NHibernate? tell people what it is, and maybe, just maybe they may show a little interest,

right now, no one could give a sh1t

Benny Thomas
08/23/2008 07:14 PM by
Benny Thomas

Looking forward to start working with this in projects.

Good job the whole NH team!

Raffaeu
08/23/2008 07:42 PM by
Raffaeu

Thanks ayende for the greate news, now it's your time to start a cool series of posts about.

:-D

Frank Quednau
08/23/2008 08:53 PM by
Frank Quednau

What are the tools to do the mapping fast'n'easy? Would the answer be "let NHibernate create the schema"? I am getting some flak at a customer because other tools are supposedly so much nicer since they have a fancy visual mapping tool or ... God, what is this obsession with visual tools?

Lee Brandt
08/24/2008 01:57 AM by
Lee Brandt

SWEET! Good news, good news.

Thanks Ayende!

Ayende Rahien
08/24/2008 02:11 AM by
Ayende Rahien

Carlos,

Just google it. Some level of knowledge is assumed when reading this blog.

Otherwise I would have to start each post by explaining what a blog is

Ayende Rahien
08/24/2008 02:15 AM by
Ayende Rahien

Frank,

Active Writer is one that I used.

There are a lot of those, just google it

Paulo Pires
08/24/2008 04:24 AM by
Paulo Pires

Nice one, thanks for posting on my blog. I'm adding you to my feeds :-)

Oh and btw, cheers to the people that managed the new release. Keep up!

Cheers from the sunny Portugal!

Joao Braganca
08/24/2008 05:06 AM by
Joao Braganca

Awesome, can't wait to sink my teeth in!

j23tom
08/24/2008 06:49 AM by
j23tom

Does it work with AR 1.0 RC2 ?

meowth
08/24/2008 10:29 AM by
meowth

Cool, really cool, Oren, thank you for such good news!

Amre Ellafi
08/25/2008 01:15 PM by
Amre Ellafi

big news !

@j23tom : avoid AR, it a sugar syntax but not stable and cause me a lot of trouble in the few past projects.

Lee Witherington
08/25/2008 04:45 PM by
Lee Witherington

Excellent news, and great work guys, i used nHibernate 1.2 on a project around 8 months and "Loved It" ago but haven't had another opportunity.

I am just working my way through the "Summer of nHibernate" series which is an excellent tutorial -

http://www.summerofnhibernate.com/

Thanks for your many hours of hard work, its really appreciated :)

Marioko
08/25/2008 09:26 PM by
Marioko

great, is nice to see progress in this framework.

More than compatible, we have a number of features that Hibernate 3.2 doesn't have! Try this in Hibernate:

//finds a list of People with the same 'Name' property

ICriteria criteria = session.CreateCriteria(typeof(Person));

criteria.SetProjection(Projections.ProjectionList()

.Add(Projections.Max("Id"))

.Add(Projections.GroupProperty("Name")))

.Add(Restrictions.Gt(Projections.Count("Name"), 1));

IList results = criteria.List();

Sorry but just compatible is the correct word:

Hibernate 3.2 from Reference Doc 15.7:

List results = session.createCriteria(Cat.class)

.setProjection( Projections.projectionList()

    .add( Projections.rowCount() )

    .add( Projections.avg("weight") )

    .add( Projections.max("weight") )

    .add( Projections.groupProperty("color") )

)

.list();
PandaWood
08/26/2008 02:18 AM by
PandaWood

Carlos, Ayende has been blogging about NHibernate for about 2 years, if he had to explain what it was at the beginning of every blog, it would be seriously annoying. Try not to be extremely lazy and angry at the same time.

shanthu
08/29/2008 09:18 PM by
shanthu

The benefit I am getting from this ORM layer is unbeleiveable. Simple words cannot express my feelings for all the all hard work and tremendous amount of effort being put into this NHIBERNATE project.

Thanks a lot guys/gals

Regards

Shanthu

DonkeyKong
09/04/2008 03:48 PM by
DonkeyKong

This is great, but why isn't this mentioned on hibernate.org?

Fabio Maulo
09/04/2008 04:25 PM by
Fabio Maulo

@DonkeyKong

Send an e-mail to JBoss; sure they have one maintainer for www.nhibernate.org.

Fred
09/16/2008 09:30 PM by
Fred

Huge work guys. I'm very proud to announce that a huge project involving NHibernate 2.0 (sources checked in today!) as ORM is in development. It's a portfolio management system, including architecture and langage migration.

Thank you for making our life easier ! After comparing with a lot of others ORM, we choose to trust a product supported by ten years of exeprience and developped by passionate developpers.

cheers guys !!!!!!!!!!

smatiana
09/18/2008 04:45 PM by
smatiana

I was skeptical but finally converted to NH about a year ago. Great job guys with NH2 release. Have been waiting for it for quite some time.

Fred, please keep us posted how your experience goes with NH2.

Mike
09/22/2008 03:15 PM by
Mike

Reference for NH2.0 is needed !!

Ayende Rahien
09/22/2008 03:24 PM by
Ayende Rahien

Mike,

Feel free to provide one.

Fred
09/29/2008 09:28 AM by
Fred

as smatiana asked for it ...

Well, not that bad...We are always in the same battle field :

we are using Ntiered architecture using WCF and we don not use DTO or whatever you may call them.

As all ORM what matter is the quality of the mapping and understanding the N+1 issues.

Well I'm quite disapointed on the evict and lock methods which are a bit hazardeous, but it's still working.

the same way, I 'd love one day to get some time to work on a "Collection.Update()"

We are using fully detached object from NHibernate, and we have a translation layer which ensure communication between Business Objects and persistents objects.

Change Tracking is done through Business Object.

After a lot of test on ORM cache (not only nhibernate) we consider and realize that it was "to much" for a single layer. Then we use a specific cache; communicating with the entities.

Well, well; it's noon, I've a lot of work to finish.

See you.

Fred.

Comments have been closed on this topic.