I know a lot of people have been burned in production by many ORMs in the 
past -  and those scares are what anyone suggesting an ORM today has to 
deal with.

SQLA is doing a very good job at that - have you seen the videos I posted 
here? They are talking about Hibernate, as well as the Active-Record 
pattern. The guy who wrote it has mentioned all of the worries you are 
talking about in those videos.

For example:
Eager-vsLazy loading is configurable - both are supported, and you can use 
each in you core, depending on circumstances.
As I said in the previouse message (I updated it since you posted this 
one). it depends - the trande-offs are circumstancial - that's why you need 
both approaches, and the ability to concigure each object to use one or the 
other in different circumstances - and that's what SQLA provides.

As for recursive-queries, it does not occur in eager-loading in SQLA.
SQLA features what it called a "cascade", which means it "traverses" 
through the attribute-accesses, and only fetches what you actually asked 
for (well, it's not really "traversing", there are events that are 
triggered on each object's attribute-access...) this is for both lazy and 
eager loading configurations. The cascade makes sure that you only get what 
you explicitly asked for, no more, no less.

As for "Magic", he is talking about that also.
SQLA is not hiding it's internals like many other ORMs are doing - it is 
highly configurable, with sane-defaults, so you can go as deep as you like 
and re-configure things the way you like.

In fact, this is not only "possible", but rather "advised" explicitly - at 
some areas it is even "mandatory". The explicit-support 
for configurability  comes in the form of tools for automating 
manual-configuration, through meta-classes and mix-ins.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to