Search in sources :

Example 6 with MapKeyJoinColumn

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

the class Ejb3XmlElementCollectionTest method testSingleMapKeyJoinColumn.

/**
	 * When there's a single map key join column, we still wrap it with a
	 * MapKeyJoinColumns annotation.
	 */
@Test
public void testSingleMapKeyJoinColumn() throws Exception {
    reader = getReader(Entity3.class, "field1", "element-collection.orm14.xml");
    assertAnnotationPresent(ElementCollection.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.class);
    MapKeyJoinColumns joinColumnsAnno = reader.getAnnotation(MapKeyJoinColumns.class);
    MapKeyJoinColumn[] joinColumns = joinColumnsAnno.value();
    assertEquals(1, joinColumns.length);
    assertEquals("col1", joinColumns[0].name());
}
Also used : MapKeyJoinColumn(javax.persistence.MapKeyJoinColumn) MapKeyJoinColumns(javax.persistence.MapKeyJoinColumns) Test(org.junit.Test)

Example 7 with MapKeyJoinColumn

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

the class Ejb3XmlManyToManyTest method testSingleMapKeyJoinColumn.

/**
	 * When there's a single map key join column, we still wrap it with a
	 * MapKeyJoinColumns annotation.
	 */
@Test
public void testSingleMapKeyJoinColumn() throws Exception {
    reader = getReader(Entity3.class, "field1", "many-to-many.orm14.xml");
    assertAnnotationPresent(ManyToMany.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.class);
    MapKeyJoinColumns joinColumnsAnno = reader.getAnnotation(MapKeyJoinColumns.class);
    MapKeyJoinColumn[] joinColumns = joinColumnsAnno.value();
    assertEquals(1, joinColumns.length);
    assertEquals("col1", joinColumns[0].name());
}
Also used : MapKeyJoinColumn(javax.persistence.MapKeyJoinColumn) MapKeyJoinColumns(javax.persistence.MapKeyJoinColumns) Test(org.junit.Test)

Example 8 with MapKeyJoinColumn

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

the class Ejb3XmlOneToManyTest method testMultipleMapKeyJoinColumns.

@Test
public void testMultipleMapKeyJoinColumns() throws Exception {
    reader = getReader(Entity3.class, "field1", "one-to-many.orm15.xml");
    assertAnnotationPresent(OneToMany.class);
    assertAnnotationNotPresent(MapKey.class);
    assertAnnotationNotPresent(MapKeyClass.class);
    assertAnnotationNotPresent(MapKeyTemporal.class);
    assertAnnotationNotPresent(MapKeyEnumerated.class);
    assertAnnotationNotPresent(MapKeyColumn.class);
    assertAnnotationPresent(MapKeyJoinColumns.class);
    assertAnnotationNotPresent(MapKeyJoinColumn.class);
    MapKeyJoinColumns joinColumnsAnno = reader.getAnnotation(MapKeyJoinColumns.class);
    MapKeyJoinColumn[] joinColumns = joinColumnsAnno.value();
    assertEquals(2, joinColumns.length);
    assertEquals("", joinColumns[0].name());
    assertEquals("", joinColumns[0].referencedColumnName());
    assertFalse(joinColumns[0].unique());
    assertFalse(joinColumns[0].nullable());
    assertTrue(joinColumns[0].insertable());
    assertTrue(joinColumns[0].updatable());
    assertEquals("", joinColumns[0].columnDefinition());
    assertEquals("", joinColumns[0].table());
    assertEquals("col1", joinColumns[1].name());
    assertEquals("col2", joinColumns[1].referencedColumnName());
    assertTrue(joinColumns[1].unique());
    assertTrue(joinColumns[1].nullable());
    assertFalse(joinColumns[1].insertable());
    assertFalse(joinColumns[1].updatable());
    assertEquals("int", joinColumns[1].columnDefinition());
    assertEquals("table1", joinColumns[1].table());
}
Also used : MapKeyJoinColumn(javax.persistence.MapKeyJoinColumn) MapKeyJoinColumns(javax.persistence.MapKeyJoinColumns) Test(org.junit.Test)

Example 9 with MapKeyJoinColumn

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

the class JPAOverriddenAnnotationReader method buildMapKeyJoinColumns.

private void buildMapKeyJoinColumns(List<Annotation> annotationList, Element element) {
    MapKeyJoinColumn[] joinColumns = getMapKeyJoinColumns(element);
    if (joinColumns.length > 0) {
        AnnotationDescriptor ad = new AnnotationDescriptor(MapKeyJoinColumns.class);
        ad.setValue("value", joinColumns);
        annotationList.add(AnnotationFactory.create(ad));
    }
}
Also used : AnnotationDescriptor(org.hibernate.annotations.common.annotationfactory.AnnotationDescriptor) MapKeyJoinColumn(javax.persistence.MapKeyJoinColumn)

Aggregations

MapKeyJoinColumn (javax.persistence.MapKeyJoinColumn)9 MapKeyJoinColumns (javax.persistence.MapKeyJoinColumns)7 Test (org.junit.Test)6 AnnotatedElement (java.lang.reflect.AnnotatedElement)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Basic (javax.persistence.Basic)1 Column (javax.persistence.Column)1 DiscriminatorColumn (javax.persistence.DiscriminatorColumn)1 ElementCollection (javax.persistence.ElementCollection)1 EmbeddedId (javax.persistence.EmbeddedId)1 Id (javax.persistence.Id)1 JoinColumn (javax.persistence.JoinColumn)1 JoinColumns (javax.persistence.JoinColumns)1 JoinTable (javax.persistence.JoinTable)1 ManyToMany (javax.persistence.ManyToMany)1 ManyToOne (javax.persistence.ManyToOne)1 MapKeyColumn (javax.persistence.MapKeyColumn)1 MapsId (javax.persistence.MapsId)1 OneToMany (javax.persistence.OneToMany)1