Generally if NH docs reaches Hibernate docs level it is fine. The only thing is not good documented is "Expressions" in "HQL" part - how to deal with date/time types, how to access indices/elements in collections - personally I had much guessing here

* What kind of software do you mainly develop with NHibernate?I am using it for my n-tiered (or is it SOA? I can't keep track) auction management software. I wrap ISession with my interface which is then remoted to a GUI.

* How would you qualify these softwares?- Professional / Commercial

* NHibernate experiences?- Why have you selected NHibernate?
Because the ORM that I wrote sucked. Bad.
- Something you have done that you never thought would be possible / simple
For example, using partial classes, I am able to persist eBay's schema to the database far better than either my crappy ORM layer or their crappy ORM layer (Integration Lib).
- The features you want (that aren't available)
I want to be able to globally turn off lazy loading for everything including collections. I want the user interface to decide to load the entire object graph for a particular object. I don't want a dependency to NHibernate in my UI layer.

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
Lots of people talk about a steep learning curve but i didn't see it. It only took me a couple of days to pick it up.
- What are the parts you would like to see better documented?
The documentation seems out of date.

NHibernate has been a life saver. My ORM layer's performance sucked so bad (using reflection all over the place) that it was causing deadlocks in my database, forcing me to add WITH (NOLOCK) to every query. I know, you are not supposed to do that, but I am stuck with my ORM until I can write a replacement. NHibnernate is that replacement.

Also, the Linq extension to NHibernate rocks! Special thanks to Ayende.

* What kind of software do you mainly develop with NHibernate?
- Windows Applications

* How would you qualify these softwares?
- Professional / Commercial

* NHibernate experiences?
- Why have you selected NHibernate?Castle Active Record
- Something you have done that you never thought would be possible / simple

- The features you like / dislike (=> should be improved)
Lazy loading and session management
+ the pros & cons (that you have to deal with when using NHibernate)

- The features you want (that aren't available)
Better Criteria Queries - perhaps tools to make this prettier too

* About the documentation?[/b] (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?using active record, but not too bad.
- What are the parts you would like to see better documented?Most of it.
- What kind of samples / demo applications? With which features?Criteria queries, Criteria based projections, sessions in winforms

* What kind of software do you mainly develop with NHibernate?
- Windows and Web/ASP.NET Applications

* How would you qualify these softwares?
- Professional / Commercial

* NHibernate experiences?
- Why have you selected NHibernate?
Good design, popularity of Hibernate
- Something you have done that you never thought would be possible / simple
Mapping objects to tables.

- The features you like / dislike (=> should be improved)
I like all of NHibernate!

+ the pros & cons (that you have to deal with when using NHibernate)
Design of objects. Tables are easy to do, but objects should be designed carefully.

- The features you want (that aren't available)
Mapping an object to multiple tables.
Mapping a table to multiple objects.

* About the documentation?[/b] (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
The "Hibernate in Action" book it's pretty usefull
- What are the parts you would like to see better documented?
The collections.
- What kind of samples / demo applications? With which features?
Collections and object mapping strategies.

* What kind of software do you mainly develop with NHibernate?ASP.Net 2.0 Apps
SQL 2005

* How would you qualify these softwares?- Professional / Commercial
- Scalable, performant, secure (I wouldn't call it highly)

* NHibernate experiences?Personally, I like NHibernate a lot, and I'm very grateful that it was able to "grow" with the applications we used it in. We started using it in several small-scale projects (including prototypes), which over time became big and needed to become performant using large amounts of data.
Over time we learned and used more and more of NHibernate's advanced features, such as collection fetching strategies, the ICriteria API, 2nd level caching (the most recent one) and other optimization techniques.

- Why have you selected NHibernate?We chose it because once you got through creating the domain object model and mapping, developing business logic using persistent object becomes fairly simple. The .Net built-in approaches suggested by MS using DataSets (and similar ones) all lack the clear separation of concern and fail as soon as it comes to complex relationships. Regarding the choice between NHibernate and other O/R Mappers, it is free and the first one we looked at after doing some research and collecting opinions.

* About the documentation? (We are currently working hard to improve it...)Based on my most recent experience, the documentation on 2nd level caching is very thin and not very explicit (currently Chapter 15 and 21). Many of the settings I had to figure out in try-and-error and only understood the documentation after that (e.g. that you can and sometimes need to annotate collections with the Cache attribute as well). As another example, so far it's not clear to me how exactly query cache and 2nd level cache work together. Unlike with other NHibernate concerns, 3rd party (non-hibernate.org) samples, detailed articles or walkthroughs are close to non-existent (e.g. on CodeProject).

What kind of software do you mainly develop with NHibernate?- Windows Applications
- ASP.NET 2.0 Applications

How would you qualify these softwares?- Professional / Commercial

NHibernate experiences?Great so far except one issue which I posted a question about in the forum. It is about the ability to specify values as well as columns in many-to-one relationships.

The features you like / dislike (=> should be improved)- So far I am quite impressed with NHibernate in general. I really like the ability to do database mappings completely independently of my code (hbm.xml files instead of attributes in the code).
- I also like the "default-access='field.camelcase-underscore' " option so I don't have to expose fields that I don't want to in my business objects.

The features you want (that aren't available)Assuming it is not available (it may be there, and I just can't find it) I would like to be able to put values into many-to-one relationships instead of just being able to refer to a column.

What kind of software do you mainly develop with NHibernate?Windows and Web Applications mainly.
Current project is a booking management system built on .NET 3.5 C# with Visual Studio 2008 and SQL Server 2005 Express.

How would you qualify these softwares?Professional / Commercial

NHibernate experiences?- Why have you selected NHibernate?
NHibernate has been selected because Hibernate is incredibly popular and seems pervasive as far as ORM tools go. It allows me to use mapping files to define mappings as opposed to code generation.

- The features you like / dislike (=> should be improved)
Documentation definitely needs to be created. I am still learning and am finding it difficult getting everything working cleanly. However, I know this is an evolving project and this is of course part of the fun!

- Features for the future
Hopefully in the near future somebody will come up with a robust GUI designer for creating files based on database and existing classes.

A Linq provider would be excellent as the second hurdle of learning NHibernate is also learning HQL. It's not such a bad thing, it just means it's another thing to learn. It would be easier to transition if existing tools were usable.

About the documentation? (
- How easy/hard is it to learn using NHibernate?
I think it is a challenge to learn NHibernate as there isn't yet comprehensive documentation and sample code is limited or not deep enough to be applied to larger apps.

- What are the parts you would like to see better documented?
Much more sample code, along with MSDN/Javadoc for each function so a particular function can be referenced better.

Patterns would also be something good to have here, eg best practices for structuring sessions, transactions etc with business objects.

- What kind of samples / demo applications? With which features?
A larger app incorporating the classes behind along with a front end data bound UI would be excellent. This would give developers a view of the app right through from start to finish, at all levels.

Then example code for the major features would be helpful to illustrate documentation.

If you have anything else to add ...I am really enjoying using NHibernate. Keep up the good work![/b]

* What kind of software do you mainly develop with NHibernate?- Windows Applications, using with PostgreSQL 8 and NpgSql

* How would you qualify these softwares?- Professional / Commercial

* NHibernate experiences?I'm started to use NHibernate because I didn't like the Entity Framework restrictions.I'm developing a framework to my project and I liked the results and the easy-of-use of NHibernate. But I'm still new with OR/M and NHibernate, so I'm trying to understand some things that I need.

* About the documentation? (We are currently working hard to improve it...)For me it's hard to learn NHibernate, because that is few good documentation about it, and, no comments about most of samples.Until version 2.1, the site's documentation it's a little bit confusing to a person that never seen OR/M before....But I really started to learn and understand NHibernate with your book (Manning NHibernate in Action) that it's perfect for me (I'm still reading) and with blogs like:NHibernate Blog (http://nhforge.org/blogs/nhibernate/default.aspx)Ayende @ Rahien (http://ayende.com/Blog/Default.aspx)Fabio Maulo (HunabKu) Blog (http://fabiomaulo.blogspot.com/)

So....I'm glad to take part of this community and to be a user of NHibernateThanks

* About the documentation? (We are currently working hard to improve it...)- How easy/hard is it to learn using NHibernate?Pretty easy, but the examples could be more thorough and there could be more of them.

* What kind of software do you mainly develop with NHibernate? >>All that!+ Details about the development & production environments.>> I write software for internal accounts billing and payables. Our third party ERP app is on DB2 (ISeries) while we have several internal apps developed with SQL Server. Apps developed with SQL Server are to compliment the ERP system and supplement the deficiencies that exist in the ERP system.

* NHibernate experiences?- Why have you selected NHibernate?>> We need to access data on our ERP system directly through DB2. Our desire is to use a reusable platform and objectify our data access. I really prefer Microsoft's Entity Modeling but it doesn't have access to an ISeries system. In order to get Entity Modeling for DB2, we would have to purchase an $11,000 package from IBM and there's no guarantee that it will work successfully. I have heard many rave reviews about NHibernate so I thought I would try it out.

- Something you have done that you never thought would be possible / simple>> Not sure.

- The features you like / dislike (=> should be improved)>>I like the idea of the configuration files; however, I prefer using the NHibernate.Mapping.Attributes name space. That being said, using attributes to map my data access classes hasn't been that easy and has cost me a lot of time. They seem more ideal for perfect situations when databases are highly normalized but are a pain to understand when working with legacy systems. This may be a problem with mapping altogether but I don't know. Basically, if more in depth documentation was given to show the pseudo code for what happens when something is mapped via an attribute or multiple attributes, that would be helpful.

+ the pros & cons (that you have to deal with when using NHibernate)>> The pros: it's free and the cons: it's free. The biggest problem I have had to deal with is the learning curve. This is not a tool that you can effectively use when you have a short deadline despite the fact that it is a powerful tool. First, a person needs to learn what to download and it isn't always clear cut. Then, when you download something there are even more tools that may or may not need downloaded. For example, do I download the NHibernate binaries or the source? When I do that, which proxy should I use? There's quite a few and they all need time given to understand their purpose. Then, there are other tools that I may or may not need to download but which one? Rhino Commons? etc, etc, etc. If you decide to download these then you have to download more stuff. Nant, Git, SVN, etc. It's a maze at times.

When I have had to learn Microsoft's Entity Modeling, it only took a few days to get an application written. Using NHibernate, it has taken a month. I'm running into issues with composite keys, implementing one-to-many relationships and so-on. When I ask questions, there are a few sites to ask. Which one is best? I've asked questions on Google's NHusers and never heard a response. I've asked questions here and I get a response a day or two later. I've asked questions on Stack Overflow and I get faster responses but from less knowledgeable people who are trying to gain points. Actually, I wouldn't mind paying a little for one-on-one support if it was available and at a reasonable price but that option doesn't seem available as far as I can see.

- The features you want (that aren't available)>> A visual builder especially for one-to-many, many-to-one mappings.

* About the documentation? (We are currently working hard to improve it...)- How easy/hard is it to learn using NHibernate?>>NHibernate is a pain to learn. The available documentation deals with perfect and yet simplistic examples. Anything out of the norm and a person is forced to search the internet all day.

- What are the parts you would like to see better documented? Mapping files and NHibernate.Mapping.Attributes. There needs to be more complex examples available.

- What kind of samples / demo applications? With which features? Composite Keys, Generators with Composite Keys, NHibernate.Mapping.Attributes. It would be nice to see more examples for PC applications and especially utilizing the UOW pattern when working with a DataGrid.

If you have anything else to add ... :) No but thank you for your efforts with this tool.

I have been using NHibernate to develop mainly windows desktop applications as well as libraries and process services. For example, record items on a list edit and save the changes. I would say that i have used this to produce professional projects for clients and some trial ones for own consumption. I have chosen this because i was able to learn and get familiar with it very quickly.