Search in sources :

Example 11 with AttributeOverride

use of javax.persistence.AttributeOverride in project hibernate-orm by hibernate.

the class Ejb3XmlElementCollectionTest method testSingleAttributeOverride.

/**
	 * 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());
}
Also used : AttributeOverrides(javax.persistence.AttributeOverrides) AttributeOverride(javax.persistence.AttributeOverride) Test(org.junit.Test)

Example 12 with AttributeOverride

use of javax.persistence.AttributeOverride in project hibernate-orm by hibernate.

the class Ejb3XmlManyToManyTest method testSingleMapKeyAttributeOverride.

/**
	 * When there's a single map key attribute override, we still wrap it with
	 * an AttributeOverrides annotation.
	 */
@Test
public void testSingleMapKeyAttributeOverride() throws Exception {
    reader = getReader(Entity3.class, "field1", "many-to-many.orm10.xml");
    assertAnnotationPresent(ManyToMany.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationNotPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.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());
}
Also used : AttributeOverrides(javax.persistence.AttributeOverrides) AttributeOverride(javax.persistence.AttributeOverride) Test(org.junit.Test)

Example 13 with AttributeOverride

use of javax.persistence.AttributeOverride in project hibernate-orm by hibernate.

the class Ejb3XmlOneToManyTest method testMultipleMapKeyAttributeOverrides.

@Test
public void testMultipleMapKeyAttributeOverrides() throws Exception {
    reader = getReader(Entity3.class, "field1", "one-to-many.orm11.xml");
    assertAnnotationPresent(OneToMany.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationNotPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.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("", 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());
}
Also used : AttributeOverrides(javax.persistence.AttributeOverrides) AttributeOverride(javax.persistence.AttributeOverride) Test(org.junit.Test)

Example 14 with AttributeOverride

use of javax.persistence.AttributeOverride in project hibernate-orm by hibernate.

the class Ejb3XmlOneToManyTest method testSingleMapKeyAttributeOverride.

/**
	 * When there's a single map key attribute override, we still wrap it with
	 * an AttributeOverrides annotation.
	 */
@Test
public void testSingleMapKeyAttributeOverride() throws Exception {
    reader = getReader(Entity3.class, "field1", "one-to-many.orm10.xml");
    assertAnnotationPresent(OneToMany.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationNotPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.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());
}
Also used : AttributeOverrides(javax.persistence.AttributeOverrides) AttributeOverride(javax.persistence.AttributeOverride) Test(org.junit.Test)

Example 15 with AttributeOverride

use of javax.persistence.AttributeOverride in project hibernate-orm by hibernate.

the class JPAOverriddenAnnotationReader method addAttributeOverrideIfNeeded.

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);
        }
    }
}
Also used : AttributeOverride(javax.persistence.AttributeOverride)

Aggregations

AttributeOverride (javax.persistence.AttributeOverride)18 AttributeOverrides (javax.persistence.AttributeOverrides)13 Test (org.junit.Test)9 AnnotationDescriptor (org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor)3 AnnotatedElement (java.lang.reflect.AnnotatedElement)2 Field (java.lang.reflect.Field)2 ArrayList (java.util.ArrayList)2 EmbeddedId (javax.persistence.EmbeddedId)2 Element (org.dom4j.Element)2 Annotation (java.lang.annotation.Annotation)1 HashMap (java.util.HashMap)1 Column (javax.persistence.Column)1 JoinColumn (javax.persistence.JoinColumn)1