> I generally find ORMs rather disappointing.  They are either featureful and
> slow (hibernate, sqlalchemy) or they just get in the way of making full use
> of the sql engine (SQLObject).  I find that it's usually efficacious to just
> do a straight sql call for reports (like a big master list) and instantiate
> objects as needed (e.g. for a detail form.)

Actually, we recently completed a project using Hibernate, and for our
particular use case it worked out quite well.

We have a long-running server process, so initial startup time isn't a
problem (although Hibernate allows you to serialize a running
configuration which makes startup pretty quick).

We also have a very complex object model; a naive approach such as
having simple load(object) and store(object) calls would have worked,
but given the large number of relationships between object Hibernate's
ability to implement selective lazy loading, automatic batching and
instance caching actually improved performance significantly over a
naive straight SQL approach.  I'm sure it would have been slightly
faster to use an adaptive, lazy loading straight SQL solution, but the
complexity would have gone way up.

Anyway, just thought I'd throw a little testimonial in because Hibernate
saved our butts bigtime by allowing us to implement a high performance
solution in a short development cycle.

-- Mark

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to