Emancipating NHibernate from Hibernate?
This is an answer to a post request in the forum:
Why keep NHibernate tied to Hibernate or is it not tied to it anymore? (NHibernate would be easier to pick up if the nomenclature wasn't ripped from Hibernate, ie AliasToBeanResultTransformer, etc...)
There are two separate questions here that needs answering. The first is easier, we keep NHibernate close to Hibernate because it makes our lives so much easier. By keeping the code bases close to one another, we can more easily port new features, documentation and bug fixes. There are no plans, and I don’t believe there would be plans, for making a clean break. Simply because it is not beneficial for the project.
The second question is about Javaism in the project. I fully agree that AliasToBeanResultTransformer is a head scratching name, this is simply a case where we didn’t match the name to the .Net standard. Those sort of cases are things that can and probably should be fixed, and a patch for that (including backward compatibility!) would be appreciated.
While we want to keep NHibernate close to Hibernate in order to reap the benefits, we also intend it to be a full class citizen in the .Net ecosystem. The two aren’t contradictory to one another.
Comments
I think part of this might be born out of the maturity NHibernate has achieved. When it was new the advantage of being able to borrow heavily from the Hibernate code base is more obvious. With 2.1 (and earlier really...) NHibernate seems to do nearly everything.
I'm curious what direction the project is heading with 3.0.
I really hate javaisms, but don't think nhibernate is really that bad, lucene.net for example is basically java pasted into c# and adapted to compile (from what I can see).. it really sticks out to me.
I think one of the biggest advantages of having parallel development with Hibernate is having relevant documentation. Whenever I've needed to find documentation for NHibernate I've almost always ended up reading Hibernate docs which while occasionally don't always match up exactly with NHibernate functionality they are 95% of the way there, the rest you can deduce either from experience of by the useful exceptions that NHibernate will throw when the configuration isn't correct.
For open source software, especially a product as large as NHibernate, documentation is key and being able to leverage Hibernate docs is a huge advantage and not one that should be overlooked.
http://www.nhforge.org/doc/nh/en/index.html
The documentation at nhforge is good and up to date. The problem is googling for NHibernate rarely returns them (they are new and probably not ranked well by google).
http://nhibernate.deepgrok.com/
This search site is also available, but I haven't made much use of it yet.
You say documentation, I seem to remember a certain blog series about how to use nhibernate, and how many people responded with 'didn't know that'.. I also don't think the documentation goes far enough to set a frame of mind for someone, like, hello I'm mr a, I've been told an orm will help with my problems, whats the position of nhibernate, what is it trying to help me do, and what is it doing.
Wow Eyston, I didn't know there were updated docs for NH 2.1 at NHForge precisely for the reason you say - I generally use google and NHForge NEVER comes up for NH docs!
Thanks for giving me that link!
Btw, was there always a link to updated documentation on the NHForge page? I don't remember seeing the "Read the Manual" link before now.
It is sucky.
You google "NHibernate" and you get garbage.
You google "NHForge" and the first two hits are the NHibernate documentation and a first application wiki. (The NHforge home page isn't even a result which is kinda odd).
I don't actually visit NHForge (I don't know why not... it seems like it should be a regular visit for NH users) so I always get amusement that I google 'nhforge' to get the nhibernate docs.
Yes please, make nhforge first result when you google nhibernate, and
make two big buttons on nhforge homepage.
1 download : sourceforge dl on current version
2 help : nhibernate googlegroups forum
Could not agree more. The more the two platforms (.NET and Java) have similar API-s, the better.
While we're here, can you just tidy up NHforge or throw it away and replace it with something like the Spring.Net project site.
NHforge is a veritable mess the moment with incorrect or incomplete documentation (NH validator for example) and old software downloads. I think community server doesn't help there.
Can we just do easier things like : Lazy Loading Providers have "bytecode" in their name. We know .NET generates IL not bytecodes.
I know they are not biggies but just satisfies .NET soul :)
Make it a real patch
Comment preview