Search in sources :

Example 21 with JoinTable

use of jakarta.persistence.JoinTable in project hibernate-orm by hibernate.

the class Ejb3XmlOneToOneTest method testJoinTableNoChildren.

@Test
public void testJoinTableNoChildren() throws Exception {
    reader = getReader(Entity1.class, "field1", "one-to-one.orm6.xml");
    assertAnnotationPresent(OneToOne.class);
    assertAnnotationNotPresent(PrimaryKeyJoinColumn.class);
    assertAnnotationNotPresent(PrimaryKeyJoinColumns.class);
    assertAnnotationPresent(JoinTable.class);
    assertAnnotationNotPresent(JoinColumns.class);
    assertAnnotationNotPresent(JoinColumn.class);
    JoinTable joinTableAnno = reader.getAnnotation(JoinTable.class);
    assertEquals("", joinTableAnno.catalog());
    assertEquals("", joinTableAnno.name());
    assertEquals("", joinTableAnno.schema());
    assertEquals(0, joinTableAnno.joinColumns().length);
    assertEquals(0, joinTableAnno.inverseJoinColumns().length);
    assertEquals(0, joinTableAnno.uniqueConstraints().length);
}
Also used : JoinTable(jakarta.persistence.JoinTable) Test(org.junit.Test)

Example 22 with JoinTable

use of jakarta.persistence.JoinTable in project hibernate-orm by hibernate.

the class Ejb3XmlOneToManyTest method testJoinTableAllChildren.

@Test
public void testJoinTableAllChildren() throws Exception {
    reader = getReader(Entity2.class, "field1", "one-to-many.orm17.xml");
    assertAnnotationPresent(OneToMany.class);
    assertAnnotationPresent(JoinTable.class);
    assertAnnotationNotPresent(JoinColumns.class);
    assertAnnotationNotPresent(JoinColumn.class);
    JoinTable joinTableAnno = reader.getAnnotation(JoinTable.class);
    assertEquals("cat1", joinTableAnno.catalog());
    assertEquals("table1", joinTableAnno.name());
    assertEquals("schema1", joinTableAnno.schema());
    // JoinColumns
    JoinColumn[] joinColumns = joinTableAnno.joinColumns();
    assertEquals(2, joinColumns.length);
    assertEquals("", joinColumns[0].name());
    assertEquals("", joinColumns[0].referencedColumnName());
    assertEquals("", joinColumns[0].table());
    assertEquals("", joinColumns[0].columnDefinition());
    assertTrue(joinColumns[0].insertable());
    assertTrue(joinColumns[0].updatable());
    assertTrue(joinColumns[0].nullable());
    assertFalse(joinColumns[0].unique());
    assertEquals("col1", joinColumns[1].name());
    assertEquals("col2", joinColumns[1].referencedColumnName());
    assertEquals("table2", joinColumns[1].table());
    assertEquals("int", joinColumns[1].columnDefinition());
    assertFalse(joinColumns[1].insertable());
    assertFalse(joinColumns[1].updatable());
    assertFalse(joinColumns[1].nullable());
    assertTrue(joinColumns[1].unique());
    // InverseJoinColumns
    JoinColumn[] inverseJoinColumns = joinTableAnno.inverseJoinColumns();
    assertEquals(2, inverseJoinColumns.length);
    assertEquals("", inverseJoinColumns[0].name());
    assertEquals("", inverseJoinColumns[0].referencedColumnName());
    assertEquals("", inverseJoinColumns[0].table());
    assertEquals("", inverseJoinColumns[0].columnDefinition());
    assertTrue(inverseJoinColumns[0].insertable());
    assertTrue(inverseJoinColumns[0].updatable());
    assertTrue(inverseJoinColumns[0].nullable());
    assertFalse(inverseJoinColumns[0].unique());
    assertEquals("col3", inverseJoinColumns[1].name());
    assertEquals("col4", inverseJoinColumns[1].referencedColumnName());
    assertEquals("table3", inverseJoinColumns[1].table());
    assertEquals("int", inverseJoinColumns[1].columnDefinition());
    assertFalse(inverseJoinColumns[1].insertable());
    assertFalse(inverseJoinColumns[1].updatable());
    assertFalse(inverseJoinColumns[1].nullable());
    assertTrue(inverseJoinColumns[1].unique());
    // UniqueConstraints
    UniqueConstraint[] uniqueConstraints = joinTableAnno.uniqueConstraints();
    assertEquals(2, uniqueConstraints.length);
    assertEquals("", uniqueConstraints[0].name());
    assertEquals(1, uniqueConstraints[0].columnNames().length);
    assertEquals("col5", uniqueConstraints[0].columnNames()[0]);
    assertEquals("uq1", uniqueConstraints[1].name());
    assertEquals(2, uniqueConstraints[1].columnNames().length);
    assertEquals("col6", uniqueConstraints[1].columnNames()[0]);
    assertEquals("col7", uniqueConstraints[1].columnNames()[1]);
}
Also used : MapKeyJoinColumn(jakarta.persistence.MapKeyJoinColumn) JoinColumn(jakarta.persistence.JoinColumn) UniqueConstraint(jakarta.persistence.UniqueConstraint) JoinTable(jakarta.persistence.JoinTable) Test(org.junit.Test)

Example 23 with JoinTable

use of jakarta.persistence.JoinTable in project hibernate-orm by hibernate.

the class Ejb3XmlManyToManyTest method testJoinTableNoChildren.

@Test
public void testJoinTableNoChildren() throws Exception {
    reader = getReader(Entity2.class, "field1", "many-to-many.orm16.xml");
    assertAnnotationPresent(ManyToMany.class);
    assertAnnotationPresent(JoinTable.class);
    assertAnnotationNotPresent(JoinColumns.class);
    assertAnnotationNotPresent(JoinColumn.class);
    JoinTable joinTableAnno = reader.getAnnotation(JoinTable.class);
    assertEquals("", joinTableAnno.catalog());
    assertEquals("", joinTableAnno.name());
    assertEquals("", joinTableAnno.schema());
    assertEquals(0, joinTableAnno.joinColumns().length);
    assertEquals(0, joinTableAnno.inverseJoinColumns().length);
    assertEquals(0, joinTableAnno.uniqueConstraints().length);
}
Also used : JoinTable(jakarta.persistence.JoinTable) Test(org.junit.Test)

Aggregations

JoinTable (jakarta.persistence.JoinTable)23 JoinColumn (jakarta.persistence.JoinColumn)11 Test (org.junit.Test)9 MapKeyJoinColumn (jakarta.persistence.MapKeyJoinColumn)7 UniqueConstraint (jakarta.persistence.UniqueConstraint)6 PrimaryKeyJoinColumn (jakarta.persistence.PrimaryKeyJoinColumn)5 AnnotationException (org.hibernate.AnnotationException)5 OnDelete (org.hibernate.annotations.OnDelete)4 Join (org.hibernate.mapping.Join)4 AssociationOverride (jakarta.persistence.AssociationOverride)3 CollectionTable (jakarta.persistence.CollectionTable)3 JoinColumns (jakarta.persistence.JoinColumns)3 MapKeyJoinColumns (jakarta.persistence.MapKeyJoinColumns)3 PrimaryKeyJoinColumns (jakarta.persistence.PrimaryKeyJoinColumns)3 Cascade (org.hibernate.annotations.Cascade)3 FilterJoinTable (org.hibernate.annotations.FilterJoinTable)3 WhereJoinTable (org.hibernate.annotations.WhereJoinTable)3 AnnotatedJoinColumn (org.hibernate.cfg.AnnotatedJoinColumn)3 Column (jakarta.persistence.Column)2 DiscriminatorColumn (jakarta.persistence.DiscriminatorColumn)2