This document provides tips and tricks for persisting object models using Voyage, an abstraction layer for mapping objects to databases. It discusses how Voyage ensures object identity and error handling while implementing a connection pool. The document emphasizes thinking in objects when modeling data and allows missing references between objects. It also provides examples of querying objects and adapting data schemes when the database schema differs from the object model. Finally, it outlines upcoming features for Voyage 2.0 including root detection, cyclic detection, and a Riak backend.