getInternalAttributeOverrideConfig(type, _annotationCfg);
AttributeOverride attributeOverrideAnn = (AttributeOverride) _annotationCfg.getAnnotation();
boolean hasAttributeOverride = (attributeOverrideAnn != null);
AttributeOverrides attributeOverridesAnn
= (AttributeOverrides) type.getAnnotation(AttributeOverrides.class);
ArrayList<AttributeOverrideConfig> attributeOverrideList = null;
EntityConfig entityConfig = getEntityConfig(type.getName());
if (entityConfig != null)
attributeOverrideList = entityConfig.getAttributeOverrideList();
boolean hasAttributeOverrides = false;
if ((attributeOverrideList != null) &&
(attributeOverrideList.size() > 0)) {
hasAttributeOverrides = true;
}
else if (attributeOverridesAnn != null)
hasAttributeOverrides = true;
if (hasAttributeOverride && hasAttributeOverrides)
throw new ConfigException(L.l("{0} may not have both @AttributeOverride and @AttributeOverrides",
type));
if (attributeOverrideList == null)
attributeOverrideList = new ArrayList<AttributeOverrideConfig>();
if (hasAttributeOverride) {
// Convert annotation to configuration.
AttributeOverrideConfig attOverrideConfig
= convertAttributeOverrideAnnotationToConfig(attributeOverrideAnn);
attributeOverrideList.add(attOverrideConfig);
}
else if (hasAttributeOverrides) {
if (attributeOverrideList.size() > 0) {
// OK: attributeOverrideList came from orm.xml
}
else {
// Convert annotations to configurations.
AttributeOverride attOverridesAnn[]
= attributeOverridesAnn.value();
AttributeOverrideConfig attOverrideConfig;
/* XXX:
for (int i = 0; i < attOverridesAnn.length; i++) {