1. A method for storing data, comprising: receiving an attribute for storage; determining whether the attribute is searchable or non-searchable in storage using a processor; storing the attribute as a searchable attribute in the event that the attribute is determined as searchable in storage, comprising storing the attribute in a database table corresponding to a hierarchical class-based object; and storing the attribute as a non-searchable attribute in the event that the attribute is determined as non-searchable in storage, comprising: storing the attribute together with one or more other non-searchable attributes as a set of attributes, wherein the set of attributes is stored in a database location outside the database table corresponding to the hierarchical class-based object, and wherein the database location is accessed before the database table; and associating with the attribute a unique attribute identifier usable to distinguish between a name of the attribute and a name of one of the one or more other non-searchable attributes in the event that the name of the attribute and the name of the one of the one or more other non-searchable attributes are assigned the same name.