Patent ID: 8694546

Claim:
A method for storing an attribute, comprising: receiving an attribute of a hierarchical class-based object, wherein the attribute is associated with an object that is not part of a class hierarchy associated with the hierarchical class-based object; and storing the attribute in a database both in a location in a first table corresponding to the object that is not part of the class hierarchy associated with the hierarchical class-based object and in a location in a second table corresponding to a class within the class hierarchy associated with the hierarchical class-based object, wherein the second table corresponds to a higher level within a hierarchy of database tables than the first table, wherein storing the attribute in the location in the second table includes storing the attribute with one or more other attributes in a set of attributes, wherein data stored in the location in the second table is configured to be accessed as the set of attributes; receiving a request to retrieve the attribute associated with the object that is not part of the class hierarchy associated with the hierarchical class-based object; determining whether the attribute is designated as fetch optimized: in the event that it is determined that the attribute is designated as fetch optimized, retrieving the set of attributes from the location in the second table corresponding to the class within the class hierarchy associated with the hierarchical class-based object; and in the event that it is determined that the attribute is not designated as fetch optimized, retrieving the attribute from the location in the first table corresponding to the object that is not part of the class hierarchy associated with the hierarchical class-based object.