Use a Metadata class to store info about the mapping instead of processing the annotations a gazillion times all over the place. Cache the metadata class in a file using the symfony config component