'', 'classname' => '', 'properties' => array( '' => array( 'type' => '', 'multivalue' => FALSE, 'value' => ), ... ), 'metadata' => array( ... ) ) // multi value array( 'identifier' => '', 'classname' => '', 'properties' => array( '' => array( 'type' => '', // for multi values only (array|SplObjectStorage) or 'NULL' for NULL 'multivalue' => TRUE, 'value' => array( // NULL for NULL/empty! array( 'type' => '', 'index' => , 'value' => ), ... ) ) ), 'metadata' => array( ... ) ) /* a uuid (for entities) or sha1 (for value objects) the AOP proxy target classname, fully qualified the strings string, array, float, integer, boolean, DateTime, SplObjectStorage or a FQCN a literal - string, integer, boolean, float, for datetime the timestamp (based on UTC!) or - for objects - an array with (at least) the identifier if represents an object it can be an array following the format described here a meta type, one of the strings string, array, float, integer, boolean, datetime, object - used in SQL backend metadata is optional and can be used to store backend specific metadata lazy loaded objects have only their identifier & classname recorded, properties is an empty array */