[Dbix-class] Moose

Leandro Hermida softdev at leandrohermida.com
Sun Jul 18 19:30:54 GMT 2010


On Sun, Jul 18, 2010 at 9:00 PM, David Ihnen <davidihnen at gmail.com> wrote:

> On Sun, Jul 18, 2010 at 1:39 PM, Leandro Hermida <
> softdev at leandrohermida.com> wrote:
>
>> On Sun, Jul 18, 2010 at 7:49 PM, Peter Rabbitson <rabbit+dbic at rabbit.us<=
rabbit%2Bdbic at rabbit.us>
>> > wrote:
>>
>>> On Sun, Jul 18, 2010 at 02:40:47PM +0200, Leandro Hermida wrote:
>>> > very good points and makes a lot of sense.  If I can ask a more gener=
al
>>> > question then, why do ORMs exist in the first place and why are they =
so
>>> > popular vs using a object persistence mechanism?  There must be some
>>> serious
>>> > advantage to using them.
>>> >
>>>
>>> Because there yet does not exist a persistent object store, that can be
>>> asked to fetch "all objects which have related objects whose attribute X
>>> is Y", and which will do so by *transparrently* using native SQL methods
>>> (namely GROUP BY over a joined resultset). Matt Trout is working on the
>>> foundation of just such a "mapper", but this is a very very hard problem
>>> to get right, so progress is slow.
>>>
>>
>> I know this might sound sacrilegious, but established frameworks like
>> Hibernate have solved this problem and the code is freely available, I t=
hink
>> it would be easier to see how such complex ORM details are done there as=
 a
>> starting point and then go from there other than starting from completely
>> scratch?
>>
>
> I'm confused, are you saying that Hibernate can be asked to fetch all
> objects which have related objects who attribute X is Y and it solves this
> problem by transparently using native SQL methods (like GROUP BY over a
> joined resultset)?
>
> Or are you saying that Hibernate can fetch all objects using some other
> method of query and retrieval?
>
>
Hi, very sorry... I was speaking more in general about writing an OO-centric
ORM and that it is difficult topic but that there are very well established
open-source solutions like Hibernate and others in the space that one could
draw inspiration or ideas from to build a Perl Moose/OO-centric ORM.  Why
not look at how others have solved such technical issues?

About the querying question, Hibernate and JPA (which I mentioned earlier)
have their own query languages HQL and JPQL which somewhat resemble SQL but
work with objects.  I would imagine a Moose-based DBIC would have one as
well?  If you use HQL I believe you can actually make a query that fetches
all objects who's related object's attribute X is Y, see here
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html.  I
believe it translates HQL into SQL before making the query in a transparent
way.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20100718/ea0=
fe877/attachment.htm


More information about the DBIx-Class mailing list