Buggy code:
public class AnnotationPersistenceMappingParser extends AnnotationPersistenceMetaDataParser { protected static final int TRUE = 1 ; protected static final int FALSE = 2 ; private static final Localizer _loc = Localizer . forPackage ( AnnotationPersistenceMappingParser . class ) ; private static final Map < Class , MappingTag . MappingTag > _tags = new HashMap < Class , MappingTag . MappingTag > ( ) ; public AnnotationPersistenceMappingParser ( JDBCConfiguration conf ) { } @ Override protected void parsePackageMappingAnnotations ( Package pkg ) { } protected boolean handleUnknownPackageMappingAnnotation ( Package pkg , Annotation anno ) { } private void parseTableGenerator ( AnnotatedElement el , TableGenerator gen ) { } @ Override protected void parseClassMappingAnnotations ( ClassMetaData meta ) { } protected boolean handleUnknownClassMappingAnnotation ( ClassMapping cls , Annotation anno ) { } private void parseAssociationOverrides ( ClassMapping cm , AssociationOverride ... assocs ) { } private void parseAttributeOverrides ( ClassMapping cm , AttributeOverride ... attrs ) { } private void parsePrimaryKeyJoinColumns ( ClassMapping cm , PrimaryKeyJoinColumn ... joins ) { } private static Column newColumn ( PrimaryKeyJoinColumn join ) { } private void parseSecondaryTables ( ClassMapping cm , SecondaryTable ... tables ) { } private void parseTable ( ClassMapping cm , Table table ) { } private static String toTableName ( String schema , String table ) { } private void parseSQLResultSetMappings ( ClassMapping cm , SqlResultSetMapping ... annos ) { } private void parseDiscriminatorColumn ( ClassMapping cm , DiscriminatorColumn dcol ) { } private void parseInheritance ( ClassMapping cm , Inheritance inherit ) { } private void parseMappingOverrides ( ClassMapping cm , MappingOverride ... overs ) { } private void populate ( FieldMapping fm , MappingOverride over ) { } private void parseDataStoreIdColumn ( ClassMapping cm , DataStoreIdColumn id ) { } private void parseForeignKey ( MappingInfo info , ForeignKey fk ) { } protected void parseForeignKey ( MappingInfo info , String name , boolean enabled , boolean deferred , ForeignKeyAction deleteAction , ForeignKeyAction updateAction ) { if ( ! enabled ) { info . setCanForeignKey ( false ) ; return ; } org . apache . openjpa . jdbc . schema . ForeignKey fk = new org . apache . openjpa . jdbc . schema . ForeignKey ( ) ; if ( ! ( StringUtils . isEmpty ( name ) ) ) fk . setName ( name ) ; fk . setDeferred ( deferred ) ; fk . setDeleteAction ( toForeignKeyAction ( deleteAction ) ) ; <START_BUG> fk . setUpdateAction ( toForeignKeyAction ( deleteAction ) ) ; <END_BUG> info . setForeignKey ( fk ) ; } private int toForeignKeyAction ( ForeignKeyAction action ) { } private void parseIndex ( MappingInfo info , Index idx ) { } protected void parseIndex ( MappingInfo info , String name , boolean enabled , boolean unique ) { } private void parseUnique ( FieldMapping fm , org . apache . openjpa . persistence . jdbc . Unique anno ) { } private void parseVersionColumns ( ClassMapping cm , VersionColumn ... vcols ) { } private static Column newColumn ( VersionColumn anno ) { } private static int toEagerFetchModeConstant ( EagerFetchType type ) { } @ Override protected void parseLobMapping ( FieldMetaData fmd ) { } @ Override protected void parseMemberMappingAnnotations ( FieldMetaData fmd ) { } 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 ) { } private void parseEnumerated ( FieldMapping fm , Enumerated anno ) { } private void parseTemporal ( FieldMapping fm , Temporal anno ) { } protected void parseColumns ( FieldMapping fm , javax . persistence ... pcols ) { } private static Column newColumn ( javax . persistence . Column anno ) { } private static void setupColumn ( Column col , javax . persistence . Column anno ) { } protected void setColumns ( FieldMapping fm , MappingInfo info , List < Column > cols , int unique ) { } private String trackSecondaryTable ( FieldMapping fm , String secondary , String colSecondary , int col ) { } private void parseJoinTable ( FieldMapping fm , JoinTable join ) { } private void parseJoinColumns ( FieldMapping fm , MappingInfo info , boolean secondaryAllowed , JoinColumn ... joins ) { } private static Column newColumn ( JoinColumn join ) { } private void parsePrimaryKeyJoinColumns ( FieldMapping fm , PrimaryKeyJoinColumn ... joins ) { } protected void parseXJoinColumns ( FieldMapping fm , MappingInfo info , boolean secondaryAllowed , XJoinColumn ... joins ) { } private static Column newColumn ( XJoinColumn join ) { } private void parseEmbeddedMapping ( FieldMapping fm , EmbeddedMapping anno ) { } protected void parseContainerTable ( FieldMapping fm , ContainerTable ctbl ) { } private void parseOrderColumn ( FieldMapping fm , OrderColumn order ) { } protected void parseElementJoinColumns ( FieldMapping fm , ElementJoinColumn ... joins ) { } private static Column newColumn ( ElementJoinColumn join ) { } private static Unique newUnique ( ClassMapping cm , String name , String [ ] columnNames ) { } }

Fix:
fk . setUpdateAction ( toForeignKeyAction ( updateAction ) ) ;