Here are the examples of the java api org.hibernate.annotations.MetaValue taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
6
Source : BinderHelper.java
with GNU General Public License v2.0
from lamsfoundation
with GNU General Public License v2.0
from lamsfoundation
public static Any buildAnyValue(String anyMetaDefName, Ejb3JoinColumn[] columns, javax.persistence.Column metaColumn, PropertyData inferredData, boolean cascadeOnDelete, Nullability nullability, PropertyHolder propertyHolder, EnreplacedyBinder enreplacedyBinder, boolean optional, MetadataBuildingContext context) {
// All FK columns should be in the same table
Any value = new Any(context, columns[0].getTable());
AnyMetaDef metaAnnDef = inferredData.getProperty().getAnnotation(AnyMetaDef.clreplaced);
if (metaAnnDef != null) {
// local has precedence over general and can be mapped for future reference if named
bindAnyMetaDefs(inferredData.getProperty(), context);
} else {
metaAnnDef = context.getMetadataCollector().getAnyMetaDef(anyMetaDefName);
}
if (metaAnnDef != null) {
value.setIdentifierType(metaAnnDef.idType());
value.setMetaType(metaAnnDef.metaType());
HashMap values = new HashMap();
org.hibernate.type.Type metaType = context.getMetadataCollector().getTypeResolver().heuristicType(value.getMetaType());
for (MetaValue metaValue : metaAnnDef.metaValues()) {
try {
Object discrim = ((org.hibernate.type.DiscriminatorType) metaType).stringToObject(metaValue.value());
String enreplacedyName = metaValue.targetEnreplacedy().getName();
values.put(discrim, enreplacedyName);
} catch (ClreplacedCastException cce) {
throw new MappingException("metaType was not a DiscriminatorType: " + metaType.getName());
} catch (Exception e) {
throw new MappingException("could not interpret metaValue", e);
}
}
if (!values.isEmpty()) {
value.setMetaValues(values);
}
} else {
throw new AnnotationException("Unable to find @AnyMetaDef for an @(ManyTo)Any mapping: " + StringHelper.qualify(propertyHolder.getPath(), inferredData.getPropertyName()));
}
value.setCascadeDeleteEnabled(cascadeOnDelete);
if (!optional) {
for (Ejb3JoinColumn column : columns) {
column.setNullable(false);
}
}
Ejb3Column[] metaColumns = Ejb3Column.buildColumnFromAnnotation(new javax.persistence.Column[] { metaColumn }, null, nullability, propertyHolder, inferredData, enreplacedyBinder.getSecondaryTables(), context);
// set metaColumn to the right table
for (Ejb3Column column : metaColumns) {
column.setTable(value.getTable());
}
// meta column
for (Ejb3Column column : metaColumns) {
column.linkWithValue(value);
}
// id columns
final String propertyName = inferredData.getPropertyName();
Ejb3Column.checkPropertyConsistency(columns, propertyHolder.getEnreplacedyName() + "." + propertyName);
for (Ejb3JoinColumn column : columns) {
column.linkWithValue(value);
}
return value;
}