Clinton Wolfe
and 1 contributors


Class::ReluctantORM::Manual - The Class::ReluctantORM Manual Index


Class::ReluctantORM is an Object-Relational Mapper (ORM), which means it gives you an object-oriented view into your database. It generates classes for you based on the tables of your database, creates accessor/mutator methods based on the columns, and even links together tables based on foreign key relationships. Behind the scenes, it generates the SQL necessary to do these tasks. In certain situations, it can also take SQL statements and turn them into objects.


The Class::ReluctantORM Manual is divided into the following sections. It's recommended that you start with either the Tutorial or the Basics, and then proceed in order.


The Tutorial builds up a working example of a Class::ReluctantORM model and shows some of the basics. It's a hands-on approach.


The Basics Section looks at the basics of a Class::ReluctantORM class - create, retrieve, update, and delete (CRUD) methods, accessor/mutator methods, and informational methods.


The Relationships Section looks at the interactions between database tables, and how Class::ReluctantORM makes it easy to access and manipulate related objects.


The Prefetching Section examines one of the unique features of Class::ReluctantORM - its preference for pre-fetching results, using fetch_deep() and search_deep().

SQL Support

In SQL Support, we examine Class::ReluctantORM's support for raw SQL. If Class::ReluctantORM can't generate a query you need, you can bypass it and use your own SQL. We'll also look at Class::ReluctantORM's own internal abstract SQL system.


Class::ReluctantORM achieves independence from the backend database system by using a system of drivers, each tuned to the dialect of the system it targets. In Drivers, we examine how this works, the drivers that are available, and what you need to do to provide a database connection.


The Monitors Section provides an overview of the Monitors that are available. Monitors are probes that examine the query generation and execution process. They can provide diagnostic, performance, and auditing information.


Clinton Wolfe, with feedback from:

Graham Knop
Dave Hubbard
Brian Dunavant
Ciprian Tutu
Chris Schammel
Paul Jones
Greg Chiasson