1. A computer-implemented method comprising: receiving, from an application program, a new value for a field of a root database object, the root database object being an object in a database partitioned based on values of the field, each database object being a row in a table and the database objects being organized in a hierarchy, wherein the database supports triggers but lacks support for reference partitioning; updating the value of the field for the root object, thereby causing a table row associated with the root object to change partitions in the database; locating a first database object that is a child of the root object in the hierarchy; applying an inheritance function associated with a class of the child object to determine a value of the field for the first database object; responsive to the determined value differing from a current value of the field for the first database object, changing the current value to the determined value and moving a table row for the first database object to a partition associated with the determined value; and repeating the locating, applying, and changing for all children of the root object.