Recently to do. NET platform, C # + SPRING.NET + Nhibernate development, has been to do before. NET + SQL SERVER2005 development, comparing the difference here, to express some opinion
Whether we are using hibernate or nhibernate, back at the data from the database, we always need to go build their own model layer. There is no denying that build their own model layer structure, is indeed a greater extent on the initiative of the Development Control at the hands of our programmers, but the inconvenience is obvious. If we use ADO.NET, back then we deal with the dataset at the time, its already inside datatable to build it. Eliminates the need for our model layer field settings and configuration, we only need to know what return the database field, at the time to do data binding, corresponding to this field on the list. Types of fields of concern to few of them, we have more time to care about business issues.
However, when we use the time Nhibernate, model layers required to build our own domain and go dto, this in itself has spent most of our time. But also from my online search some information, in fact, the actual efficiency nhibernate is not higher than the dataset where the go. If we say that memory is only on the occupied part of many, I believe it is the memory we still affordable. However, hibernate mode of thinking has brought us the trouble of things is far from over. Whenever the stored procedure to change the time, that is, back from the database of field data sets have changed, we need to do this time is not only necessary to change page presentation layer of field names, but also dynamic domain or dto fields are set, especially the field type. These are fairly complicated, but also increased opportunities for programmer mistakes, reducing the speed of development.
It can not be denied, MS put these things he gave us the perfect package, but if perfection must say "get rid of the yoke of MS, the development of the masters of their own to do" such things, what are his own do so, we also will have to pay a very great price. Others have good things, we still should be recognized.
Forward.