DBIx::DataModel v1.04 has been released to CPAN. This is
a major revision from previous v0.35, with several architectural
changes and added functionalities.
DBIx::DataModel is an Object-Relational mapping layer (ORM). Some of its
strong points are :
* UML-style declaration of relationships (instead of 'has_many',
'belongs_to', etc.)
* efficiency through fine control of collaboration with the
DBI layer (prepare/execute, fetch into reusable memory location, etc.)
* improved API for SQL::Abstract (named parameters, simplified 'orderBy')
* clear conceptual distinction between
- data sources (tables and views),
- database statements (stateful objects representing stepwise building
of an SQL query and stepwise retrieval of results),
- data rows (lightweight hashrefs containing nothing but column
names and values)
* joins with simple syntax and possible override of default
INNER JOIN/LEFT JOIN properties; instances of joins multiply
inherit from their member tables
* named placeholders at the ORM level
* nested, cross-database transactions
The synopsis is in
DataModel.pm;
the design principles and general architecture are explained
in Design.pod
|