log.warn(_loc.get("unique-constraints", name));
}
@Override
protected void parseClassMappingAnnotations(ClassMetaData meta) {
ClassMapping cm = (ClassMapping) meta;
Class cls = cm.getDescribedType();
MappingTag tag;
for (Annotation anno : cls.getDeclaredAnnotations()) {
tag = _tags.get(anno.annotationType());
if (tag == null) {
handleUnknownClassMappingAnnotation(cm, anno);
continue;
}
switch (tag) {
case ASSOC_OVERRIDE:
parseAssociationOverrides(cm, (AssociationOverride) anno);
break;
case ASSOC_OVERRIDES:
parseAssociationOverrides(cm, ((AssociationOverrides) anno).
value());
break;
case ATTR_OVERRIDE:
parseAttributeOverrides(cm, (AttributeOverride) anno);
break;
case ATTR_OVERRIDES:
parseAttributeOverrides(cm, ((AttributeOverrides) anno).
value());
break;
case DISCRIM_COL:
parseDiscriminatorColumn(cm, (DiscriminatorColumn) anno);
break;
case DISCRIM_VAL:
cm.getDiscriminator().getMappingInfo().setValue
(((DiscriminatorValue) anno).value());
if (Modifier.isAbstract(cm.getDescribedType().
getModifiers()) && getLog().isInfoEnabled()) {
getLog().info(
_loc.get("discriminator-on-abstract-class", cm
.getDescribedType().getName()));
}
break;
case INHERITANCE:
parseInheritance(cm, (Inheritance) anno);
break;
case PK_JOIN_COL:
parsePrimaryKeyJoinColumns(cm, (PrimaryKeyJoinColumn) anno);
break;
case PK_JOIN_COLS:
parsePrimaryKeyJoinColumns(cm,
((PrimaryKeyJoinColumns) anno).
value());
break;
case SECONDARY_TABLE:
parseSecondaryTables(cm, (SecondaryTable) anno);
break;
case SECONDARY_TABLES:
parseSecondaryTables(cm, ((SecondaryTables) anno).value());
break;
case SQL_RESULT_SET_MAPPING:
parseSQLResultSetMappings(cm, (SqlResultSetMapping) anno);
break;
case SQL_RESULT_SET_MAPPINGS:
parseSQLResultSetMappings(cm, ((SqlResultSetMappings) anno).
value());
break;
case TABLE:
parseTable(cm, (Table) anno);
break;
case TABLE_GEN:
parseTableGenerator(cls, (TableGenerator) anno);
break;
case DATASTORE_ID_COL:
parseDataStoreIdColumn(cm, (DataStoreIdColumn) anno);
break;
case DISCRIM_STRAT:
cm.getDiscriminator().getMappingInfo().setStrategy
(((DiscriminatorStrategy) anno).value());
break;
case FK:
parseForeignKey(cm.getMappingInfo(), (ForeignKey) anno);
break;
case MAPPING_OVERRIDE:
parseMappingOverrides(cm, (MappingOverride) anno);
break;
case MAPPING_OVERRIDES:
parseMappingOverrides(cm,
((MappingOverrides) anno).value());
break;
case STRAT:
cm.getMappingInfo().setStrategy(((Strategy) anno).value());
break;
case SUBCLASS_FETCH_MODE:
cm.setSubclassFetchMode(toEagerFetchModeConstant
(((SubclassFetchMode) anno).value()));
break;
case VERSION_COL:
parseVersionColumns(cm, (VersionColumn) anno);
break;
case VERSION_COLS:
parseVersionColumns(cm, ((VersionColumns) anno).value());
break;
case VERSION_STRAT:
cm.getVersion().getMappingInfo().setStrategy
(((VersionStrategy) anno).value());
break;
case X_TABLE:
case X_SECONDARY_TABLE:
case X_SECONDARY_TABLES: