Allen Holub from SD Times wrote a flattering article on Hibernate in this month’s magazine. He thinks that the “.. main strength of Hibernate is its ease of use.” I’m not sure I want to work on a project involving databases where Hibernate isn’t used and everytime someone whispers that I might have to work on a .NET web application at work, I wonder what the .NET equivalent of Hibernate is. Are .NET people satisfied with this:
String sql = "update newsletter set title = 'New Article'";
String connstring = "...";
SqlConnection sqlcon = new SqlConnection(connstring);
SqlCommand sqlCmd = new SqlCommand (sql, sqlcon);
sqlcon.Open();
sqlCmd.ExecuteNonQuery();
sqlcon.Close();
when you could be doing this:
...
newsletter.setTitle("New Article");
...
getDAO().save(newsletter);
I wonder how much he was paid for the Hibernate advertisement.
There are plenty of other O/R frameworks that are just as easy to work with.
Hibernate for .NET: http://nhibernate.sourceforge.net/
> I wonder how much he was paid for the Hibernate advertisement.
That’s Allen Holub, not just some schmuck. For all of the deeply insightful and well-argued (though often controversial) articles he’s written over the years, I think the man deserves better treatment than to have his personal integrity attacked, just because he happened to write about Hibernate instead of whatever O/R tool you like.
Hibernate for .NET is nowhere near hibernate. So far it’s not usable at all except for small demo.
The .net world has no real O/R mapping tools yet.
The only real O/R mapper (based on paperware specs) I’m aware (microsoft objectspace) is delayed.
As for persistence in object world, .net lags far far behind java (ado.net is not for object persistence as I was told by some misinformed people)
I don’t know too much about Hibernate but we have a pretty sophisticated data driven app that we’ve been developing for the last two years with .NET. Here is where I disagree with Allen:
1. We’ve written a good set of utility classes with interfaces like IDataReader GetReader(string sql)
void ExecSQL(string sql)
Not very complicated, but they do things well and support stored procedures etc… They also support transactions, which is an important part of our system.
Again, I don’t know much about Hibernate, but it sounds like it should be compared with typed DataSets in ADO.NET as opposed to Readers.
My $0.02 –
These seem interesting.
http://www.asp.net/learn/dataaccess/tutorial01vb.aspx?tabid=63
http://www.asp.net/learn/dataaccess/tutorial02vb.aspx?tabid=63