Buggy code:
break ; case PK_JOIN_COLS : parsePrimaryKeyJoinColumns ( fm , ( ( javax . persistence . PrimaryKeyJoinColumns ) ( anno ) ) . value ( ) ) ; break ; case TABLE_GEN : parseTableGenerator ( el , ( ( TableGenerator ) ( anno ) ) ) ; break ; case TEMPORAL : parseTemporal ( fm , ( ( Temporal ) ( anno ) ) ) ; break ; case MAP_KEY_TEMPORAL : parseMapKeyTemporal ( fm , ( ( MapKeyTemporal ) ( anno ) ) ) ; break ; case CLASS_CRIT : fm . getValueInfo ( ) . setUseClassCriteria ( ( ( ClassCriteria ) ( anno ) ) . value ( ) ) ; break ; case CONTAINER_TABLE : parseContainerTable ( fm , ( ( ContainerTable ) ( anno ) ) ) ; break ; case COLLECTION_TABLE : parseCollectionTable ( fm , ( ( CollectionTable ) ( anno ) ) ) ; break ; case EAGER_FETCH_MODE : fm . setEagerFetchMode ( AnnotationPersistenceMappingParser . toEagerFetchModeConstant ( ( ( EagerFetchMode ) ( anno ) ) . value ( ) ) ) ; break ; case ELEM_CLASS_CRIT : fm . getElementMapping ( ) . getValueInfo ( ) . setUseClassCriteria ( ( ( ElementClassCriteria ) ( anno ) ) . value ( ) ) ; break ; case ELEM_COL : parseElementColumns ( fm , ( ( ElementColumn ) ( anno ) ) ) ; break ; case ELEM_COLS : parseElementColumns ( fm , ( ( ElementColumns ) ( anno ) ) . value ( ) ) ; break ; case ELEM_EMBEDDED_MAPPING : ElementEmbeddedMapping ee = ( ( ElementEmbeddedMapping ) ( anno ) ) ; parseEmbeddedMapping ( fm . getElementMapping ( ) , ee . nullIndicatorAttributeName ( ) , ee . nullIndicatorColumnName ( ) , ee . overrides ( ) ) ; break ; case ELEM_FK : ElementForeignKey efk = ( ( ElementForeignKey ) ( anno ) ) ; parseForeignKey ( fm . getElementMapping ( ) . getValueInfo ( ) , efk . name ( ) , efk . enabled ( ) , efk . deferred ( ) , efk . deleteAction ( ) , efk . updateAction ( ) ) ; break ; case ELEM_INDEX : ElementIndex eidx = ( ( ElementIndex ) ( anno ) ) ; parseIndex ( fm . getElementMapping ( ) . getValueInfo ( ) , eidx . name ( ) , eidx . enabled ( ) , eidx . unique ( ) ) ; break ; case ELEM_JOIN_COL : parseElementJoinColumns ( fm , ( ( ElementJoinColumn ) ( anno ) ) ) ; break ; case ELEM_JOIN_COLS : parseElementJoinColumns ( fm , ( ( ElementJoinColumns ) ( anno ) ) . value ( ) ) ; break ; case ELEM_NONPOLY : fm . getElementMapping ( ) . setPolymorphic ( AnnotationPersistenceMappingParser . toPolymorphicConstant ( ( ( ElementNonpolymorphic ) ( anno ) ) . value ( ) ) ) ; break ; case ELEM_STRAT : fm . getElementMapping ( ) . getValueInfo ( ) . setStrategy ( ( ( ElementStrategy ) ( anno ) ) . value ( ) ) ; break ; case EMBEDDED_MAPPING : parseEmbeddedMapping ( fm , ( ( EmbeddedMapping ) ( anno ) ) ) ; break ; case FK : parseForeignKey ( fm . getValueInfo ( ) , ( ( ForeignKey ) ( anno ) ) ) ; break ; case INDEX : parseIndex ( fm . getValueInfo ( ) , ( ( Index ) ( anno ) ) ) ; break ; case NONPOLY : fm . setPolymorphic ( AnnotationPersistenceMappingParser . toPolymorphicConstant ( ( ( Nonpolymorphic ) ( anno ) ) . value ( ) ) ) ; break ; case ORDER_COLUMN : parseJavaxOrderColumn ( fm , ( ( OrderColumn ) ( anno ) ) ) ; break ; case ORDER_COL : parseOrderColumn ( fm , ( ( OrderColumn ) ( anno ) ) ) ; break ; case STRAT : <START_BUG> fm . getValueInfo ( ) . setStrategy ( ( ( Strategy ) ( anno ) ) . value ( ) ) ; <END_BUG> break ; case UNIQUE : parseUnique ( fm , ( ( org . apache . openjpa . persistence . jdbc . Unique ) ( anno ) ) ) ; break ; case X_EMBEDDED_MAPPING : XEmbeddedMapping embed = ( ( XEmbeddedMapping ) ( anno ) ) ; parseEmbeddedMapping ( fm , embed . nullIndicatorColumnName ( ) , embed . nullIndicatorAttributeName ( ) , embed . overrides ( ) ) ; break ; case X_JOIN_COL : parseXJoinColumns ( fm , fm . getValueInfo ( ) , true , ( ( XJoinColumn ) ( anno ) ) ) ; break ; case X_JOIN_COLS : parseXJoinColumns ( fm , fm . getValueInfo ( ) , true , ( ( XJoinColumns ) ( anno ) ) . value ( ) ) ; break ; default : throw new org . apache . openjpa . util . UnsupportedException ( AnnotationPersistenceMappingParser . _loc . get ( "unsupported" , fm , anno . toString ( ) ) ) ; } } } protected boolean handleUnknownMemberMappingAnnotation ( FieldMapping fm , Annotation anno ) { } protected static int toPolymorphicConstant ( NonpolymorphicType val ) { } private void parseAssociationOverrides ( FieldMapping fm , AssociationOverride ... assocs ) { } private void parseAttributeOverrides ( FieldMapping fm , AttributeOverride ... attrs ) { } public static FieldMapping getEmbeddedFieldMapping ( FieldMapping fm , String attrName ) { } public static FieldMapping getEmbeddedFieldMapping ( FieldMapping fm , String attrName , boolean mustExist ) { } public static Class < ? > getEmbeddedClassType ( FieldMapping fm , String attrName ) { } public static ClassMapping getEmbeddedMapping ( ValueMapping val , boolean createNew ) { } public static ClassMapping getEmbeddedMapping ( ValueMapping val ) { } public static FieldMapping getAttributeOverrideField ( String attrName , FieldMapping fm , ClassMapping embed ) { } private void parseEnumerated ( FieldMapping fm , Enumerated anno ) { } private void parseMapKeyEnumerated ( FieldMapping fm , MapKeyEnumerated anno ) { }

Fix:
fm . getMappingInfo ( ) . setStrategy ( ( ( Strategy ) ( anno ) ) . value ( ) ) ;