Ayende @ Rahien

Hi!
My name is Ayende Rahien
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:

ayende@ayende.com

+972 52-548-6969

@

Posts: 5,947 | Comments: 44,540

filter by tags archive

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

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

Heck yeah! NHibernate ROCKS!

Thanks Ayende, Thanks Fabio.

alberto

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

Ayende Rahien

Alberto,

No Linq to NH is planned for 2.1

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

Looking forward to start working with this in projects.

Good job the whole NH team!

Raffaeu

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

:-D

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

SWEET! Good news, good news.

Thanks Ayende!

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

Frank,

Active Writer is one that I used.

There are a lot of those, just google it

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

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

j23tom

Does it work with AR 1.0 RC2 ?

meowth

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

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

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

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

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

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

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

Fabio Maulo

@DonkeyKong

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

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

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

Reference for NH2.0 is needed !!

Ayende Rahien

Mike,

Feel free to provide one.

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.

Comment preview

Comments have been closed on this topic.

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. RavenDB Sharding (2):
    21 May 2015 - Adding a new shard to an existing cluster, the easy way
  2. The RavenDB Comic Strip (2):
    20 May 2015 - Part II – a team in trouble!
  3. Challenge (45):
    28 Apr 2015 - What is the meaning of this change?
  4. Interview question (2):
    30 Mar 2015 - fix the index
  5. Excerpts from the RavenDB Performance team report (20):
    20 Feb 2015 - Optimizing Compare – The circle of life (a post-mortem)
View all series

RECENT COMMENTS

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats