@Embedded @AttributeOverrides(value = { @AttributeOverride(name = "tenor", column = @Column(name = "SHORT_TENOR")), @AttributeOverride(name = "fixedLeg.paymentFrequency", column = @Column(name = "SHORT_FIXED_FREQUENCY")), @AttributeOverride(name = "fixedLeg.rate", column = @Column(name = "SHORT_FIXED_RATE")), @AttributeOverride(name = "floatLeg.paymentFrequency", column = @Column(name = "SHORT_FLOAT_FREQUENCY")), @AttributeOverride(name = "floatLeg.rateIndex", column = @Column(name = "SHORT_FLOAT_RATEINDEX")), @AttributeOverride(name = "floatLeg.rateSpread", column = @Column(name = "SHORT_FLOAT_RATESPREAD")) }) public Swap getShortSwap() { return shortSwap; }
AttributeOverrides overridesAnno = reader .getAnnotation( AttributeOverrides.class ); AttributeOverride[] overrides = overridesAnno.value(); assertEquals( 2, overrides.length ); assertEquals( "field1", overrides[0].name() ); assertEquals( "", overrides[0].column().name() ); assertFalse( overrides[0].column().unique() ); assertTrue( overrides[0].column().nullable() ); assertTrue( overrides[0].column().insertable() ); assertTrue( overrides[0].column().updatable() ); assertEquals( "", overrides[0].column().columnDefinition() ); assertEquals( "", overrides[0].column().table() ); assertEquals( 255, overrides[0].column().length() ); assertEquals( 0, overrides[0].column().precision() ); assertEquals( 0, overrides[0].column().scale() ); assertEquals( "field2", overrides[1].name() ); assertEquals( "col1", overrides[1].column().name() ); assertTrue( overrides[1].column().unique() ); assertFalse( overrides[1].column().nullable() ); assertFalse( overrides[1].column().insertable() ); assertFalse( overrides[1].column().updatable() ); assertEquals( "int", overrides[1].column().columnDefinition() ); assertEquals( "table1", overrides[1].column().table() ); assertEquals( 50, overrides[1].column().length() ); assertEquals( 2, overrides[1].column().precision() ); assertEquals( 1, overrides[1].column().scale() );
/** * Tests that map-key-attribute-override and attribute-override elements * both end up in the AttributeOverrides annotation. */ @Test public void testMixedAttributeOverrides() throws Exception { reader = getReader( Entity3.class, "field1", "element-collection.orm23.xml" ); assertAnnotationPresent( ElementCollection.class ); assertAnnotationNotPresent( AttributeOverride.class ); assertAnnotationPresent( AttributeOverrides.class ); AttributeOverrides overridesAnno = reader .getAnnotation( AttributeOverrides.class ); AttributeOverride[] overrides = overridesAnno.value(); assertEquals( 2, overrides.length ); assertEquals( "field1", overrides[0].name() ); assertEquals( "col1", overrides[0].column().name() ); assertEquals( "field2", overrides[1].name() ); assertEquals( "col2", overrides[1].column().name() ); }
/** * @author Emmanuel Bernard */ @Entity @AttributeOverride(name = "longitude", column = @Column(name = "fld_longitude")) public class Tower extends MilitaryBuilding { }
@Entity @Inheritance(strategy = InheritanceType.JOINED) @SecondaryTables({ private Integer id; @Embedded private PoolAddress address; @Embedded @AttributeOverride(name = "address", column = @Column(table = "POOL_ADDRESS_2")) private PoolAddress secondaryAddress;
@AttributeOverrides( { @AttributeOverride(name = "size", column = @Column(name = "summ_size", table = "BookSummary")), @AttributeOverride(name = "text", column = @Column(table = "BookSummary")) }) public Summary getSummary() { return summary; }
@Embedded @AttributeOverride(name = "paymentFrequency", column = @Column(name = "FIXED_FREQENCY")) public FixedLeg getFixedLeg() { return fixedLeg; }
public static String getColumnName(Field field, AttributeOverride[] overrides) { if (overrides != null) { for (AttributeOverride override : overrides) { if (override.name().equals(field.getName())) { return override.column().name(); } } } assert (field.getAnnotation(Embedded.class) == null) : "Cannot get column name from embedded field: " + field.getName(); Column column = field.getAnnotation(Column.class); return column != null ? column.name() : field.getName(); }
/** * Bind attribute. * * @param annotation * the annotation */ private void bindAttribute(Annotation annotation) { String fieldname = ((AttributeOverride) annotation).name(); Column column = ((AttributeOverride) annotation).column(); ((AbstractManagedType) this.superClazzType).columnBindings.put(fieldname, column); }
private boolean namedMapKey(AttributeOverride annotation) { return annotation.name().startsWith( "key." ); }
/** * @author Emmanuel Bernard */ @Entity @AttributeOverride(name = "longitude", column = @Column(name = "fld_longitude")) public class Tower extends MilitaryBuilding { }
@EmbeddedId @AttributeOverrides( { @AttributeOverride(name = "firstId", column = @Column(name = "idcolumn", nullable = false)), @AttributeOverride(name = "secondId", column = @Column(name = "idcolumn_second", nullable = false, length = 50)), @AttributeOverride(name = "thirdId", column = @Column(name = "thirdcolumn", nullable = false, length = 20)) }) public TableBId getId() { return this.id; }
@Embedded @AttributeOverride(name = "paymentFrequency", column = @Column(name = "FLOAT_FREQUENCY")) public FloatLeg getFloatLeg() { return floatLeg; }
/** * When there's a single attribute override, we still wrap it with an * AttributeOverrides annotation. */ @Test public void testSingleAttributeOverride() throws Exception { reader = getReader( Entity3.class, "field1", "element-collection.orm21.xml" ); assertAnnotationPresent( ElementCollection.class ); assertAnnotationNotPresent( AttributeOverride.class ); assertAnnotationPresent( AttributeOverrides.class ); AttributeOverrides overridesAnno = reader .getAnnotation( AttributeOverrides.class ); AttributeOverride[] overrides = overridesAnno.value(); assertEquals( 1, overrides.length ); assertEquals( "field1", overrides[0].name() ); assertEquals( "col1", overrides[0].column().name() ); }
/** * Read an AttributeOverrides if they exist for this embedded bean. */ protected void readEmbeddedAttributeOverrides(DeployBeanPropertyAssocOne<?> prop) { Set<AttributeOverride> attrOverrides = getAll(prop, AttributeOverride.class); if (!attrOverrides.isEmpty()) { HashMap<String, String> propMap = new HashMap<>(attrOverrides.size()); for (AttributeOverride attrOverride : attrOverrides) { propMap.put(attrOverride.name(), attrOverride.column().name()); } prop.getDeployEmbedded().putAll(propMap); } }
/** * Parse any AttributeOverride set on the class. */ public void parseAttributeOverride() { Class<?> cls = descriptor.getBeanType(); AttributeOverride override = AnnotationUtil.findAnnotationRecursive(cls, AttributeOverride.class); if (override != null) { String propertyName = override.name(); Column column = override.column(); DeployBeanProperty beanProperty = descriptor.getBeanProperty(propertyName); if (beanProperty == null) { logger.error("AttributeOverride property [" + propertyName + "] not found on " + descriptor.getFullName()); } else { readColumn(column, beanProperty); } } }
private static Map<String, Column[]> buildColumnOverride(XAnnotatedElement element, String path) { Map<String, Column[]> columnOverride = new HashMap<String, Column[]>(); if ( element == null ) return columnOverride; AttributeOverride singleOverride = element.getAnnotation( AttributeOverride.class ); AttributeOverrides multipleOverrides = element.getAnnotation( AttributeOverrides.class ); AttributeOverride[] overrides; if ( singleOverride != null ) { overrides = new AttributeOverride[] { singleOverride }; } else if ( multipleOverrides != null ) { overrides = multipleOverrides.value(); } else { overrides = null; } //fill overridden columns if ( overrides != null ) { for (AttributeOverride depAttr : overrides) { columnOverride.put( StringHelper.qualify( path, depAttr.name() ), new Column[] { depAttr.column() } ); } } return columnOverride; }
private void addAttributeOverrideIfNeeded(AttributeOverride annotation, List<AttributeOverride> overrides) { if ( annotation != null ) { String overrideName = annotation.name(); boolean present = false; for ( AttributeOverride current : overrides ) { if ( current.name().equals( overrideName ) ) { present = true; break; } } if ( !present ) { overrides.add( annotation ); } } }
@Entity(name = "Taxon") @Table(name = "taxon", uniqueConstraints = @UniqueConstraint(columnNames = { "catalog_version_id", "code" })) @AttributeOverride(name = "code", column = @Column(name = "code", nullable = false, unique = false)) public static class TaxonEntity extends AbstractEntity { @Column(name = "catalog_version_id") private String catalogVersion; public String getCatalogVersion() { return catalogVersion; } public void setCatalogVersion(String catalogVersion) { this.catalogVersion = catalogVersion; } } }