If you're just starting a new project, I'd recommend you look at Rose::DB::Object or DBIx::Class instead. Both have better support for more complex relationships and generate more efficient SQL.
Comment on Re: Class::DBI::Iterator and overriding accessors