in reply to Terminology: Is DBIx::Class an ORM?

>   object <-> relational mapper.

OK I guess the point is in the bidirectional arrow.

Classical ORM is limited by the fact that it's mapping unidirectionally object language -> relational language.

Ribasushi's title seems to indicate that he can also map all relational semantic back, hence <->

Not sure if that kind of cleverness in the title is good marketing.

🤔

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^2: Terminology: Is DBIx::Class an ORM?
by haukex (Archbishop) on Jun 02, 2021 at 17:26 UTC
    Classical ORM is limited by the fact that it's mapping unidirectionally object language -> relational language.

    I think I maybe see where you're coming from here. Are you talking about the automatic generation of a new OO API definition from an existing database schema, and the reverse operation of automatically generating a new database schema from an existing OO API? In that case, my answer would be: I thought several ORM frameworks are capable of that? It's been a while since I worked with them though so I'd have to look it up, which I don't have the time for right now, plus I'm not sure if I'm understanding your question correctly...?

      > Are you talking about the automatic generation of a new OO API definition from an existing database schema, and the reverse operation of automatically generating a new database schema from an existing OO API?

      No.

      The fundamental definition of an ORM I found is to hold data model inside an object system which is made persistent with a DB server.

      That means mapping in one direction and the "data language" is limited to the semantics of the OOP model.

      But that's a one way street.

      Like with "Active Record".

      > I thought several ORM frameworks are capable of that?

      That would surprise me.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

        The fundamental definition of an ORM I found is to hold data model inside an object system which is made persistent with a DB server. That means mapping in one direction and the "data language" is limited to the semantics of the OOP model.

        As you know, academic discussions about excact terminology are not my strong suit, so I don't think I can help much there...

        > I thought several ORM frameworks are capable of that?
        That would surprise me.

        I checked, Hibernate is (one of) the framework(s) I worked with years ago, and there are tools to both generate class definitions from the database and generate database definitions from a class structure (I assume the former is less common).