Object Relational Mappers are evil (a meditation)

J Kenneth King james at agentultra.com
Thu Oct 22 10:41:49 EDT 2009


Aaron Watters <aaron.watters at gmail.com> writes:

> On Oct 16, 10:35 am, mario ruggier <mario.rugg... at gmail.com> wrote:
>> On Oct 5, 4:25 pm, Aaron Watters <aaron.watt... at gmail.com> wrote:
>>
>> > Occasionally I fantasize about making a non-trivial change
>> > to one of these programs, but I strongly resist going further
>> > than that because the ORM meatgrinder makes it somewhere
>> > between extremely unpleasant and impossible to make any
>> > non-trivial changes to a non-trivial program, especially after
>> > it has been populated with data.
>>
>> Object-relational mappers are like putting lipstick on a pig:http://gizmoweblog.blogspot.com/2006/10/putting-lipstick-on-pig.html
>>
>> m ;-)
>
> Cute, but wrong.  Using ORMs is better than using "Object databases".
>
> In my case I use Python to un**** data created by java/hibernate.
> If I was using a java based "object database" I would be simply stuck.
> At least if you use an ORM you have a way to access the information
> without writing a program in the programming language that the
> ORM was defined in.  Anyway, thanks for all the great comments on
> this thread from all you Sarcopterygii and Haplorrhini out there.

Data persistence isn't a "one-size fits all" problem.  It really depends
on the needs of the system.  Object databases solve the problem of
storing complex object graphs, deeply nested data structures, and
serializing language-specific objects like continuations or
what-have-you (but I think that last one is yet unsolved).  We all know
what RDBMS' are good for.  Neither is perfect for solving every data
persistence situation.



More information about the Python-list mailing list