There are 2 big points in favor of Hibernate.

One is that since it is so widespread and pervasive, it is very likely that
many Java devs (read potential cfml'ers) already have it deployed and would
find great benefit being able to leverage their existing systems.

But even more importantly, is that ORM is actually VERY complicated. I think
the Hibernate project itself may bigger than the entirety of OpenBD in terms
of code base, contributers and plain old development hours. If you were able
to replicate Hibernate's functionality, then you would have a project with
more potential users than OpenBD. Adobe didn't feel they could do it. Once
you get beyond very high-level needs and start thinking about caching,
relationships, synchronization, transactions and optimizing database access
so that you don't actually query the db when the app requests it, but
instead queue up all the requests and only query what is needed (as a dumb
example if an app made 2 requests to select * from users, hibernate would
know to do it only once and give the results to both calls), you begin to
see a glimmer of the complexity behind the scenes. Replicating it would be a
monumental feat.

Just some thoughts...



On Thu, Dec 3, 2009 at 11:57 AM, Vince Bonfanti <[email protected]> wrote:

> A few thoughts:
>
>   - I originally started that thread in reference to OpenBD-on-GAE (Google
> App Engine) where we can't use Hibernate because GAE doesn't support
> relational databases.
>
>   - It's the CFML-language syntax that's important for compatibility, not
> the underlying implementation. Consider that the OpenBD and Adobe ColdFusion
> implementations of CFML are very, very different, yet applications are
> largely portable across the two platforms due to CFML syntax compatibility.
>
>   - You assume that using Hibernate provides more "powerful features" but
> that's not necessarily the case--it may, in fact, be limiting. I don't know
> if it's due to Hibernate, but in the current CF9 ORM implementation, I
> believe that "persistent" CFCs are not allowed to contain functions or
> pseudo-constructors. Contrast this with the current OpenBD/GAE
> implementation of CFC persistence, which allows *any* CFC to be persisted to
> the datastore without needing special annotations (persistent="true"). We'll
> want to support the full CF9 ORM syntax for compatibility, but we may well
> chose to extend it to provide more "powerful features" that Hibernate can't
> support (especially on GAE, where we're not constrained by the limitations
> of relational databases regarding object persistence).
>
> Finally, I don't speak for the "regular" OpenBD team, only for OpenBD/GAE.
>
> Vince
>
>
> On Thu, Dec 3, 2009 at 2:24 PM, Brian FitzGerald 
> <[email protected]>wrote:
>
>> Hey all, I read this older thread (http://bit.ly/5OhvUR) about how
>> OpenBD is planning on handling the orm features presented in CF9, but
>> it didn't really seem to be concluded.  To me this is by far the bet
>> feature in CF9 and is something I would really love to see implemented
>> in OpenBD.
>>
>> It appeared in the old thread that you guys are considering
>> replicating much of the functionality w/o using Hibernate under the
>> hood?  I'm not an orm expert, but it seems to me like this would make
>> it harder to maintain compatibility moving forward and could also
>> limit some of the powerful features that CF9's orm offers.  Is it
>> still up for discussion to have CF9 orm implemented in OpenBD with
>> Hibernate behind the scenes?  Again, I for one would love to see it,
>> and would consider it a huge incentive to use OpenBD more in the
>> future.
>>
>> Thanks for letting me in on your plans for this important feature.
>>
>> Best,
>> Brian
>>
>> --
>> Open BlueDragon Public Mailing List
>>  http://www.openbluedragon.org/   http://twitter.com/OpenBlueDragon
>>  mailing list - http://groups.google.com/group/openbd?hl=en
>>
>>  !! save a network - please trim replies before posting !!
>
>
>  --
> Open BlueDragon Public Mailing List
> http://www.openbluedragon.org/ http://twitter.com/OpenBlueDragon
> mailing list - http://groups.google.com/group/openbd?hl=en
>
> !! save a network - please trim replies before posting !!
>

-- 
Open BlueDragon Public Mailing List
 http://www.openbluedragon.org/   http://twitter.com/OpenBlueDragon
 mailing list - http://groups.google.com/group/openbd?hl=en

 !! save a network - please trim replies before posting !!

Reply via email to