Hibernate Books

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 57 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
 Post subject: Re: NHibernate Survey
PostPosted: Tue Apr 11, 2006 1:35 pm 
Newbie

Joined: Fri Apr 07, 2006 8:33 pm
Posts: 6
* What kind of software do you mainly develop with NHibernate?
- Windows Applications
- Libraries / Services


Mostly active record type stuff (list a grid, edit an item, list its detail records, edit a deail record, yadda yadda).

* How would you qualify these softwares?
- Professional / Commercial
- Highly scalable, performant, secure, reliable, ... Enterprise Application ;)


* NHibernate experiences?
- Why have you selected NHibernate?

I hate relational databases and especially the crappiness that occurs between the domain and the database. NHibernate alleviates that pain, if only a little, but usually a lot.

- Something you have done that you never thought would be possible / simple

Polymorphic queries!!!


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


NHibernate's core is not very extensible. What extensibility it has is very monolithic. There is no, that I can find, input into the TypeFactory and the Binder where there easily could be.

- The features you want (that aren't available)

* Native, pervasive suppot for .NET 2.0 Generics
* Paging!
* Native support for SQL 2005 including row number/paging, calling .NET types in SQL 2005 CLR services, Snapshot isolation level, etc.
* Locking hints for SQL 2000/2005!!!
* A way to auto-generate mappings and merge db changes with HBM changes.


* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?

Very hard to start with, then you get the hang of it, then you start doing serious stuff and it gets very hard again.

- What are the parts you would like to see better documented?

More on HQL, IQuery, Find(), and some of the more complicated features of ISession. Maybe a little more on the issues involved around transient objects and 2nd level caching.

- What kind of samples / demo applications? With which features?

A simple list/record/detail list/detail record editing app that shows off some caching features, some advanced query topics, etc.

If you have anything else to add ... :)

This project is simply amazing. It's ridiculous how comprehensive this library is for the short time you guys have been working on it (even if you did snarf a lot of it from the Java dorks).

Keep up the great work and don't stop!


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 08, 2006 12:00 pm 
Newbie

Joined: Mon May 08, 2006 11:03 am
Posts: 12
* What kind of software do you mainly develop with NHibernate?
- Windows Applications

Possibly looking at an ASP.NET implementation. Keeping an eye on cross-platform.

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

* NHibernate experiences?
- Why have you selected NHibernate?
Heard good things about Hibernate, decided to check it out.

- Something you have done that you never thought would be possible / simple

session.Save/Update/Delete Nothing can be easier!

Using a setup file to change 3 options allows us to connect to multiple back-ends. ++++++

- The features you want (that aren't available)

I'd love to be able to update the backend based on the .hbm.xml files. I see in the notes that this isn't being planned because it's difficult to implement.


* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
The basic stuff was pretty easy, once you get the mappings down. However when you try to do more complex things, it gets difficult, mainly due to the lack of documentation.

- What are the parts you would like to see better documented?
Using the generic nHibernate objects to use things like views, and returning only some columns from multiple mapped tables.

The documentation for getting stuff from single tables , and from getting full row records from multiple mapped tables (using the relation mappings), is excellent. I got that right away.

- What kind of samples / demo applications? With which features?

Showing off the above documentation.

A demo app that shows how business rules can be implemented inside the objects that are mapped to tables, and that use rules.


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Mon May 15, 2006 11:42 am 
Newbie

Joined: Sun Apr 02, 2006 11:24 am
Posts: 6
KPixel wrote:
Hello,

Here is a "form" you can fill if you want to give your opinion / suggestions about NHibernate
Note that these information will heavily influence our future works, so don't hesitate to stress what is important for you ;)

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


I built a framework on top of ASP.NET and NHibernate, to provide two-way bindings (capability similar to JSF's and tapestry's) using OGNL, and nearly transparent support for versioned-cloning for persistent entities, as well as some other web-related utilities. It's still under heavy test with a web forum which I'm paid for :)

KPixel wrote:
* How would you qualify these softwares?


Professional / Commercial. The framework is intent to build web apps faster than RoR ;)

KPixel wrote:
* NHibernate experiences?
- Why have you selected NHibernate?
- Something you have done that you never thought would be possible / simple
- The features you like / dislike (=> should be improved)
+ the pros & cons (that you have to deal with when using NHibernate)
- The features you want (that aren't available)


- I choose the one with biggest market :)
- Features:
1.Everything in Hibernate 3 should be ported!
2.Paging with SQL Server 2000 (Hibernate does this by scroll cursor)

KPixel wrote:
* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
- What are the parts you would like to see better documented?
- What kind of samples / demo applications? With which features?

If you have anything else to add ... :)


I found several parts of the documents are completely wrong....


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 01, 2006 3:00 pm 
Newbie

Joined: Thu Jun 01, 2006 2:44 pm
Posts: 1
What kind of software do you mainly develop with NHibernate?
- Windows Applications

How would you qualify these softwares?
- Pet projects

* NHibernate experiences?
- Why have you selected NHibernate?
Because I experienced a little with Hibernate in Java (for web applications) and it saved me some work.
- The features you like / dislike (=> should be improved)
I like O/R mappings in general and the maturity of Hibernate. I like the fact that Hibernate supports a lot of DBs and it's easy to switch.
I don't like:
There is no demo application for NHibernate. I'm about to give up using NHibernate in my windows forms application because it takes an incredible 6 to 8 seconds to Configure() with just 4 hbm.xml files in the assembly!! (and my computer is a mean machine). I don't understand how can be people pleased with that. I find it hard to explain to my users that my app is great because it uses o/r mappings. I need some speed here, commeon, it's a tiny windows application with an embedded db, I'm not launching rockets.

+ the pros & cons (that you have to deal with when using NHibernate)
I want a fast configuration mechanism (maybe configuration api+code generation tools). I want to get rid of those xmls.

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
Pretty easy. Hibernate in Action kicks ass (it's a book who talks to the mind)
- What are the parts you would like to see better documented
Hibernate Tools.


Top
 Profile  
 
 Post subject: Survey Response
PostPosted: Wed Jun 28, 2006 6:42 am 
Newbie

Joined: Wed Jun 28, 2006 6:34 am
Posts: 11
* 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?
Recommended by colleague using Java environment

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
very good
- What kind of samples / demo applications? With which features?
Further NET examples

If you have anything else to add ... :)
Just tried out alpha release in NET 2.0 / Visual Studio 2005 and it works very well. Much exploring to do. Looking forward to live release so we can use it in live apps.
Would be good to see mapping tools availble in Visual Studio which are already available in Eclipse.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 09, 2006 9:54 pm 
Beginner
Beginner

Joined: Wed Aug 09, 2006 10:15 am
Posts: 20
Location: Vitoria - ES - Brazil
* What kind of software do you mainly develop with NHibernate?
- All that! ;)

+ Details about the development & production environments.
There are 4 people involved in this governmental software project.
We use UML and use-cases for documentation.
About patterns we use the layered architecture (4 layers: UI Task Domain Data ) and DAO for data access. So far, we were successful in isolating nHibernate specifics from the rest of the application.
We plan to release a software that will affect nearly 5000 users in a couple of months.
It will be a big chalenge but once it is succeed this new software architecture and technology will spread to the rest of the organization.

* How would you qualify these softwares?
- Highly scalable, performant, secure, reliable, ... Enterprise Application ;)

* NHibernate experiences?

- Why have you selected NHibernate?
NHibernate was selected because it has an active forum and the provided documentation is the best among ORM tools. Another important factor was that NHibernate was born "mature" with experience from Hibernate.

- Something you have done that you never thought would be possible / simple
Never thought it would be possible to isolate the Data Mappings in XML files.

- The features you like / dislike (=> should be improved)
I dislike the Session not being thread-safe.
I like Collections and Nullable Types provided. It completes .NET.

+ the pros & cons (that you have to deal with when using NHibernate)
- Cons:
* In the beginning in the XML mapping process it was hard to find the errors
*Session being not thread-safe brought some headaches with the previous way the application was built with the previsou ORM tool
- Pros:
*My Domain Objects dont have to inherit from any class as well as the DAO classes
*I dont have to add an ID property although I do it
*HQL helped a lot in certain complicated queries.
*XML mapping files provide features to tune performance by allowing a certain class or relationship to be lazy or not.

- The features you want (that aren't available)
I would like NHibernate to provide me an alternative way to map attributes and columns besides XML files or annotations. Something that could be isolated like XML files but in C# code.

* About the documentation? (We are currently working hard to improve it...)

- How easy/hard is it to learn using NHibernate?
It is not complicated to learn the basics. We all have learned to use it with the documentation provided in the website.
For specific questions most of the time I can find the answers in the forum

- What are the parts you would like to see better documented?
Enterprise Patterns and Winform applications

- What kind of samples / demo applications? With which features?
A sample application making use of layered and DAO patterns would be a must !


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 10:07 am 
Newbie

Joined: Wed Aug 23, 2006 8:19 am
Posts: 1
* What kind of software do you mainly develop with NHibernate?
- Nhibernate code generator (XML mapping files , data layer- business layer generator.) ( finished. i am using my generator with nhibernate for developing software project.)
-Windows (Telemarketing CRM (finished-Customers are using- 2 weeks developing time) ,Accounting Software(Developing) )
-Web (Ecommerce (Developing))
-Webservice (Mobile software service layer (Developing))


* How would you qualify these softwares?
Highly scalable performance, secure, reliable, ... Enterprise Application

- Why have you selected NHibernate?
Fast development timing and reliable db layeri.Best ORM.



* About the documentation?
- How easy/hard is it to learn using NHibernate?

i learned nhibernate very easy using clear nhibernate docs.


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Sat Sep 23, 2006 7:48 pm 
Newbie

Joined: Sat Sep 23, 2006 7:43 pm
Posts: 2
* What kind of software do you mainly develop with NHibernate?
- Web Applications
- Libraries / Services

+ Details about the development & production environments.
VS2005, Spring Framework.NET

* How would you qualify these softwares?
- Highly scalable, performant, secure, reliable, ... Enterprise Application ;)

* NHibernate experiences?
- Why have you selected NHibernate?
Previous Java Hibernate Experiencie (good experience)
- Something you have done that you never thought would be possible / simple
Almost forgetting about underlying database
- The features you like / dislike (=> should be improved)
Reattaching/merging should be updated to Java's current level.

- The features you want (that aren't available)
Equivalents to java cascades, spring.net integration.

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
Very easy coming from a Java background.
- What are the parts you would like to see better documented?
It's quite good as it is right now. Maybe more HQL samples...

- What kind of samples / demo applications? With which features?
Session-Per-Conversation, Session-Per-Request, OpenSessionInView pattern implementation examples



Congratulations for this *GREAT* piece of software.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Oct 03, 2006 3:46 pm 
Beginner
Beginner

Joined: Sat Sep 09, 2006 5:55 am
Posts: 23
What kind of software do you mainly develop with NHibernate?
Quote:
We are currently developing a windows forms application, but are using a layered architecture which consists of a presentation, business and data layer. Through the use of generics we only have one class for our standard data operations in the data layer, being NHibernateDAO<V> where V is our entity class.


How would you qualify these softwares?
Quote:
Professional software for internal use at a Fortune 50 company, with some characteristics of an enterprise application.


NHibernate experiences?
- Why have you selected NHibernate?
Quote:
Increased development speed; ease of use over code generation. Also, HQL provides us with a nice mechanism to convert values entered in the GUI to query parameter without having to deal with database joins ourselves.


- The features you want (that aren't available)
Quote:
Almost all new features now in 1.2.0-b1 (custom native sql for insert/update/delete, stored procedures, generics, nullables) were on our wish-list, so we hope 1.2.0-production will be released really fast :)


About the documentation?
- How easy/hard is it to learn using NHibernate?
Quote:
The documentation is a good place to start, but to really get the hang of it you need to play with it and see what it does every time you change a setting. There is a learning curve but I think it pays off in the end.

_________________
Cheers,

Guy Mahieu


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Wed Nov 08, 2006 4:45 am 
Newbie

Joined: Wed Nov 08, 2006 2:54 am
Posts: 4
* What kind of software do you mainly develop with NHibernate?
We are currently concentrating on new development with web services and and backend systems with plans to eventually migrate the legacy backend systems and Web servers at some point in the near future.

* How would you qualify these softwares?
Commercial, highly scalable, and reliable.

* NHibernate experiences?
- Why have you selected NHibernate?
We evaluated several options and determined that NHibernate offered the best performance/benefits for our needs; however, I should note that the lack of documentation nearly sent us over to alternative solutions.

- Something you have done that you never thought would be possible / simple
Creating component classes to break apart some of our large tables has been a significant productivity booster and has allowed to better document and evaluate opportunities for future database refactoring. Once we mapped the tables, we created class diagrams and discovered several areas of duplication that we mapped to component classes. This helped us remove the duplication from our classes and will help us eventually remove the duplication from the database.

- The features you like / dislike (=> should be improved)
I really love NHibernate's support for component classes and composite keys, and the fact that we can create a quick unit test that instantiates ISession to parse the mapping files and classes to uncover mapping issues (e.g. mismatched property names, forgetting to make properties virtual, and so forth). A significant disadvantage with NHibernate is that refactoring mappings is extremely error prone because NHibernate relies on string identifiers in many places (e.g. expressions and HQL) but provides no way to validate these string identifiers (e.g. to validate in Expression.Eq("CustomerId") that CustomerId actually exists as a property in the mapped class).

- The features you want (that aren't available)
NHibernate uses types in several places that let's us "lean on the compiler" to uncover naming mismatches, and it would be extremely beneficial if we could find some way to replace string parameters with typed parameters of some sort. I've been banging my head against a wall for a few days to try to find a solution to this problem. For the moment, the best we can do is ensure we wrap every expression, HQL statement, and so forth

We are also using SPOIL to bypass NHibernate to call our legacy stored procedures. I prefer not to have to do this; but (1) NHibernate doesn't support stored procedures, and (2) we likely won't move these legacy stored procedures into the business logic layer until next year.

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
Learning how to map tables was relatively trivial, but I could not find any information on best practices, guidance, recommendations, or (perhaps more importantly) don't do that unless you want a performance/maintenance nightmare. For this, I invested some of the company's funds in several domain driven development books. Of course, I think this is a wise investment regardless of NHibernate's documentation status.

- What are the parts you would like to see better documented?
What we really need in the documentation is a section after mapping that details how to actually use NHibernate. How to instantiate a session manager. Is it best to use singleton session managers per project, per thread?

What about caching and caching strategies? We have several lookup tables that may change once a year, lookup tables that may change once a day, and live tables that should probably never be cached. Can we do that? If so, how?

- What kind of samples / demo applications? With which features?
Providing samples for some of Microsoft's demo databases (e.g. Northwind, pubs, perhaps IBuySpy and others) might be helpful since most of us are likely familar with these databases. I would like to see more examples of composite key strategies with GetHashCode and Equals implementations to at least feel comfortable that my techniques aren't likely to cause unforseen issues. Demos for caching strategies and implementations would be helpful as well.


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Sat Nov 11, 2006 6:35 am 
Newbie

Joined: Wed Nov 08, 2006 2:54 am
Posts: 4
I just thought of another addition to this feedback. The exceptions thrown by NHibernate provide a significant amount of stack trace information, but often provide very little information to help track down mapping and other issues. As an example, I just added a unit test to one of our DAOs and received this cryptic exception:

"Invalid mapping information specified for type XXX, check your mapping file for property type mismatches... Unable to cast object of type 'System.Byte' to 'System.String'."

Given the large size of the table, this makes it difficult to determine which column is mapped incorrectly so I have to check each column one by one.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 30, 2007 5:58 pm 
Newbie

Joined: Tue Jan 30, 2007 5:38 pm
Posts: 1
Location: Paris
* What kind of software do you mainly develop with NHibernate?
- WebApp / WinForm
- Librairies / Webservices
- Framework

Asp.net 1.1 / 2.0
MSSql2000 / Access / MySql

* How would you qualify these softwares
- Professionnal / Commercial

* NHibernate experiences?
Start with Hibernate and java,
on .net :
Start with NHibernate 0.6 alfa
=> easy to use, same ORM in java and c#, excellent for developpers

* About the documentation?
What are the parts you would like to see better documented?
Advanced mapping with ternary assoc


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 13, 2007 7:23 am 
Beginner
Beginner

Joined: Wed Nov 29, 2006 10:32 am
Posts: 34
I should have read more of the documentation; and probably asked a few more questions before critizizing things in here. I apologize (more or less - quick decisions are unfortunately also something our business requires; with all the risk of quickly deciding wrong ... Anyway, I have edited out things which are actually NOT problems.

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

+ Details about the development & production environments.

...skipped...

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

* NHibernate experiences?
- Why have you selected NHibernate?

As a first, free ORM it is ok. But amazingly, the commercial ones are equally riddled with ad-hoc limitations (NHib e.g. inheritance, no smart pointers for :1, INSERT+UPDATE for creating a new objects [with bad implications when you use DateTime and SQLServer ...]), unclear concepts (no NHibernate example! - maybe except for the method name "Save," which has almos nothing to do with saving something ...), limited extendability (NHib e.g. it is unclear how to integrate your own association classes - "keyed sets") when used in a framework.

- Something you have done that you never thought would be possible / simple

Nothing really where NHibernate contributed. There's nothing which shouldn't be standard in an ORM.

(except one thing which would really amaze me: I currently try to build a high-volume data importer with NHibernate; this is against the rules of the Hibernate community, AFAIK - at least one book says so in boldface. But I still believe that it should be possible; and can be done. This alone will convince me to continue using NHibernate ...).

- The features you like / dislike (=> should be improved)

What we would need (and currently do not at all/with some hack):

-- Mixing inheritance modes freely.

-- Access to some session information for advanced systems (size of session, Enumerable of all objects in session; necessary for memory-constrained systems/large batch applications).

-- Very important: Remove the strange idea that NHibernate uses the default constructor for creating its objects; instead, a pluggable factory should be provided so that standard application code can use the default constructor.

--Removed: Saved/non-saved tracking too inflexible. With the IInterceptor.IsUnsaved method, we can to everything we need.

-- (not so important, but useful) Support of smart pointers for lazy :1 associations instead of requirement to use proxies.

-- not so many NRE when there are problems in queries or the configuration.

+ the pros & cons (that you have to deal with when using NHibernate)

-- Pros: "It's there", and it's not worse than others (others are worse - some require very intrusive programming models for BOs, e.g.); and it's free.

-- Cons: When the business object framework handles many things itself (dirty tracking, having more intelligent association classes, PK creation in constructors, ...), things get hairy because NHibernate does not document how to integrate such things well. But on the whole, we always got it working after some cursing ...



- The features you want (that aren't available)

--> see above.


* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?

Hard - but ok, because learning OR mapping is always hard (the "O/R gap").
At first things look trivial - also the documentation creates this impression. After some time, one finds out that (a) OR mapping itself; and (b) NHibernate are not at all trivial things. Almost all fundamental "gaps" of that "O/R gap" are never explained (e.g. why we want a transparent perseitency; but which implications this has - e.g. that registering an object with a session should happen in constructors - which has its probelms again). In all projects where we used an OR mapper (TopLink, one I wrote, Java Hibernate 2.x, Java Hibernate 3.x, NHibernate 1.0.x), we had to introduce a special position "ORmapping (Hibernate) researcher and guru", whose responsibility was to explain and find out what to about ORM and NHibernate conceptual and technical problems ... but I guess it will always remain like this ...

- What are the parts you would like to see better documented?

Session handling.
Criteria language (e.g., there is no clear definition of when subcriteria are needed).
HQL subqueries: Also here, it is unclear when a join is required; vs. when A.B.C notation is ok (two examples contradict each other here - I have to take a look to find which ones ...). A simple grammar should at least be provided instead of many words with examples.

- What kind of samples / demo applications? With which features?



If you have anything else to add ... :)

I think what I wrote above is enough :)

Harald


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Mon Mar 26, 2007 11:23 pm 
Newbie

Joined: Tue Mar 20, 2007 10:58 pm
Posts: 3
* What kind of software do you mainly develop with NHibernate?
- Windows Applications
- Web Applications
- Libraries / Services
- All that! ;)
- Others ...
+ Details about the development & production environments.

I am developing a scorm authoring tool.

* How would you qualify these softwares?
- Beginners
- Pet projects
- Professional / Commercial
- Highly scalable, performant, secure, reliable, ... Enterprise Application ;)
Commercial...I hope to sell it


* NHibernate experiences?
- Why have you selected NHibernate?
Because my db c# code was too complicated.
- Something you have done that you never thought would be possible / simple
- The features you like / dislike (=> should be improved)
+ the pros & cons (that you have to deal with when using NHibernate)
- The features you want (that aren't available)

* About the documentation? (We are currently working hard to improve it...)
- How easy/hard is it to learn using NHibernate?
quite hard
- What are the parts you would like to see better documented?
documentation of the various tools related to NHibernate.
- What kind of samples / demo applications? With which features?
Actually, I wold like to have a a demo applications dealing woth proxy. But I would like to have lot of example


Top
 Profile  
 
 Post subject: Re: NHibernate Survey
PostPosted: Thu Apr 19, 2007 1:42 pm 
Newbie

Joined: Wed Feb 21, 2007 3:33 pm
Posts: 4
[quote="KPixel"]Hello,

Here is a "form" you can fill if you want to give your opinion / suggestions about NHibernate
Note that these information will heavily influence our future works, so don't hesitate to stress what is important for you ;)

* What kind of software do you mainly develop with NHibernate?
- Web Applications - http://www.delveintojesus.com


* How would you qualify these softwares?
Half way between Pet projects and Professional

* NHibernate experiences?
Drastically reduced my development time. A very positive experience.

* About the documentation? (We are currently working hard to improve it...)
I used 1.2 beta, starting about 2 months ago and there was almost no documentation to help with the new features such as generics. This is to be expected with a beta, but there were enough samples on various blogs that I was able to make my way through it. The documentation of pre-1.2 features was excellent.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 57 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.