Search in sources :

Example 21 with Join

use of org.hibernate.mapping.Join in project hibernate-orm by hibernate.

the class JoinTest method testDefaultValue.

@Test
public void testDefaultValue() throws Exception {
    Join join = (Join) metadata().getEntityBinding(Life.class.getName()).getJoinClosureIterator().next();
    assertEquals("ExtendedLife", join.getTable().getName());
    org.hibernate.mapping.Column owner = new org.hibernate.mapping.Column();
    owner.setName("LIFE_ID");
    assertTrue(join.getTable().getPrimaryKey().containsColumn(owner));
    Session s = openSession();
    Transaction tx = s.beginTransaction();
    Life life = new Life();
    life.duration = 15;
    life.fullDescription = "Long long description";
    s.persist(life);
    tx.commit();
    s.close();
    s = openSession();
    tx = s.beginTransaction();
    Query q = s.createQuery("from " + Life.class.getName());
    life = (Life) q.uniqueResult();
    assertEquals("Long long description", life.fullDescription);
    tx.commit();
    s.close();
}
Also used : Transaction(org.hibernate.Transaction) Query(org.hibernate.Query) Join(org.hibernate.mapping.Join) Session(org.hibernate.Session) Test(org.junit.Test)

Example 22 with Join

use of org.hibernate.mapping.Join in project hibernate-orm by hibernate.

the class JoinTest method testCompositePK.

@Test
public void testCompositePK() throws Exception {
    Join join = (Join) metadata().getEntityBinding(Dog.class.getName()).getJoinClosureIterator().next();
    assertEquals("DogThoroughbred", join.getTable().getName());
    org.hibernate.mapping.Column owner = new org.hibernate.mapping.Column();
    owner.setName("OWNER_NAME");
    assertTrue(join.getTable().getPrimaryKey().containsColumn(owner));
    Session s = openSession();
    Transaction tx = s.beginTransaction();
    Dog dog = new Dog();
    DogPk id = new DogPk();
    id.name = "Thalie";
    id.ownerName = "Martine";
    dog.id = id;
    dog.weight = 30;
    dog.thoroughbredName = "Colley";
    s.persist(dog);
    tx.commit();
    s.close();
    s = openSession();
    tx = s.beginTransaction();
    Query q = s.createQuery("from Dog");
    dog = (Dog) q.uniqueResult();
    assertEquals("Colley", dog.thoroughbredName);
    tx.commit();
    s.close();
}
Also used : Transaction(org.hibernate.Transaction) Query(org.hibernate.Query) Join(org.hibernate.mapping.Join) Session(org.hibernate.Session) Test(org.junit.Test)

Aggregations

Join (org.hibernate.mapping.Join)22 Iterator (java.util.Iterator)8 PersistentClass (org.hibernate.mapping.PersistentClass)7 Property (org.hibernate.mapping.Property)7 Column (org.hibernate.mapping.Column)6 AnnotationException (org.hibernate.AnnotationException)5 AssertionFailure (org.hibernate.AssertionFailure)5 Component (org.hibernate.mapping.Component)5 Table (org.hibernate.mapping.Table)5 HashMap (java.util.HashMap)4 ManyToOne (org.hibernate.mapping.ManyToOne)4 SimpleValue (org.hibernate.mapping.SimpleValue)4 JoinTable (javax.persistence.JoinTable)3 XProperty (org.hibernate.annotations.common.reflection.XProperty)3 Ejb3JoinColumn (org.hibernate.cfg.Ejb3JoinColumn)3 SyntheticProperty (org.hibernate.mapping.SyntheticProperty)3 Test (org.junit.Test)3 ElementCollection (javax.persistence.ElementCollection)2 JoinColumn (javax.persistence.JoinColumn)2 MapKeyColumn (javax.persistence.MapKeyColumn)2