Package org.hibernate.ogm

Examples of org.hibernate.ogm.OgmSession


*/
public class OneToOneCollectionMappingTest extends OgmTestCase {

  @Test
  public void testAssociationStorageSettingIsIgnoredForBidirectionalManyToOneMapping() throws Exception {
    OgmSession session = openSession();
    Transaction transaction = session.beginTransaction();

    // Given, When
    Husband husband = new Husband( "alex" );
    husband.setName( "Alex" );
    session.persist( husband );

    Wife wife = new Wife( "bea" );
    wife.setName( "Bea" );
    husband.setWife( wife );
    wife.setHusband( husband );
    session.persist( wife );

    transaction.commit();
    session.clear();

    transaction = session.beginTransaction();

    // Then
    assertDbObject(
        session.getSessionFactory(),
        // collection
        "Wife",
        // query
        "{ '_id' : 'bea' }",
        // expected
        "{ " +
          "'_id' : 'bea', " +
          "'name' : 'Bea'," +
          "'husband' : 'alex'" +
        "}"
    );

    assertDbObject(
        session.getSessionFactory(),
        // collection
        "Husband",
        // query
        "{ '_id' : 'alex' }",
        // expected
        "{ " +
          "'_id' : 'alex', " +
          "'name' : 'Alex'," +
          "'wife' : 'bea'" +
        "}"
    );

    // Clean-Up
    husband = (Husband) session.get( Husband.class, husband.getId() );
    wife = (Wife) session.get( Wife.class, wife.getId() );
    session.delete( wife );
    session.delete( husband );

    transaction.commit();
    session.close();
  }
View Full Code Here


*/
public class ObjectIdTest extends OgmTestCase {

  @Test
  public void canUseManuallyAssignedObjectId() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    BarKeeper brian = new BarKeeper( new ObjectId(), "Brian" );

    // when
    session.persist( brian );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    BarKeeper brianLoaded = (BarKeeper) session.load( BarKeeper.class, brian.getId() );

    // then
    assertThat( brianLoaded.getId() ).isEqualTo( brian.getId() );
    assertThat( brianLoaded.getName() ).isEqualTo( "Brian" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseManuallyAssignedObjectIdInAssociation() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    BarKeeper brian = new BarKeeper( new ObjectId(), "Brian" );
    Drink cubaLibre = new Drink( new ObjectId(), "Cuba Libre" );
    brian.setFavoriteDrink( cubaLibre );

    // when
    session.persist( brian );
    session.persist( cubaLibre );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    BarKeeper brianLoaded = (BarKeeper) session.load( BarKeeper.class, brian.getId() );

    // then
    assertThat( brianLoaded.getName() ).isEqualTo( "Brian" );
    assertThat( brianLoaded.getFavoriteDrink() ).isNotNull();
    assertThat( brianLoaded.getFavoriteDrink().getName() ).isEqualTo( "Cuba Libre" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseObjectIdAssignedUponInsert() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    Bar goldFishBar = new Bar( "Goldfisch Bar" );

    // when
    session.persist( goldFishBar );

    tx.commit();
    assertThat( goldFishBar.getId() ).isNotNull();
    session.clear();
    tx = session.beginTransaction();

    Bar barLoaded = (Bar) session.load( Bar.class, goldFishBar.getId() );

    // then
    assertThat( barLoaded.getName() ).isEqualTo( "Goldfisch Bar" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseObjectIdAssignedUponInsertInAssociation() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    MusicGenre classicRock = new MusicGenre( "Classic Rock" );

    Bar goldFishBar = new Bar( "Goldfisch Bar" );
    goldFishBar.setMusicGenre( classicRock );
    classicRock.getPlayedIn().add( goldFishBar );

    Bar sharkStation = new Bar( "Shark Station" );
    sharkStation.setMusicGenre( classicRock );
    classicRock.getPlayedIn().add( sharkStation );

    // when
    session.persist( classicRock );
    session.persist( goldFishBar );
    session.persist( sharkStation );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    // then
    Bar barLoaded = (Bar) session.load( Bar.class, goldFishBar.getId() );

    assertThat( barLoaded.getName() ).isEqualTo( "Goldfisch Bar" );
    assertThat( barLoaded.getMusicGenre() ).isNotNull();
    assertThat( barLoaded.getMusicGenre().getName() ).isEqualTo( "Classic Rock" );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    MusicGenre genreLoaded = (MusicGenre) session.load( MusicGenre.class, goldFishBar.getMusicGenre().getId() );
    assertThat( genreLoaded.getPlayedIn() ).onProperty( "name" ).containsOnly( "Goldfisch Bar", "Shark Station" );

    tx.commit();
    session.close();
  }
View Full Code Here

*/
public class OneToOneInEntityMappingTest extends OgmTestCase {

  @Test
  public void testBidirectionalManyToOneMapping() throws Exception {
    OgmSession session = openSession();
    Transaction transaction = session.beginTransaction();

    // Given, When
    Husband husband = new Husband( "alex" );
    husband.setName( "Alex" );
    session.persist( husband );

    Wife wife = new Wife( "bea" );
    wife.setName( "Bea" );
    husband.setWife( wife );
    wife.setHusband( husband );
    session.persist( wife );

    transaction.commit();
    session.clear();

    transaction = session.beginTransaction();

    // Then
    assertDbObject(
        session.getSessionFactory(),
        // collection
        "Wife",
        // query
        "{ '_id' : 'bea' }",
        // expected
        "{ " +
          "'_id' : 'bea', " +
          "'name' : 'Bea'," +
          "'husband' : 'alex'" +
        "}"
    );

    assertDbObject(
        session.getSessionFactory(),
        // collection
        "Husband",
        // query
        "{ '_id' : 'alex' }",
        // expected
        "{ " +
          "'_id' : 'alex', " +
          "'name' : 'Alex'," +
          "'wife' : 'bea'" +
        "}"
    );

    // Clean-Up
    husband = (Husband) session.get( Husband.class, husband.getId() );
    wife = (Wife) session.get( Wife.class, wife.getId() );
    session.delete( wife );
    session.delete( husband );

    transaction.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseObjectIdAssignedUponInsertInOneToManyAssociation() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    Bar goldFishBar = new Bar( "Goldfisch Bar" );
    goldFishBar.getDoorMen().add( new DoorMan( "Bruce" ) );
    goldFishBar.getDoorMen().add( new DoorMan( "Dwain" ) );

    // when
    session.persist( goldFishBar );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    // then
    Bar barLoaded = (Bar) session.load( Bar.class, goldFishBar.getId() );
    assertThat( barLoaded.getDoorMen() ).onProperty( "name" ).containsOnly( "Bruce", "Dwain" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseObjectIdAssignedUponInsertInManyToManyAssociation() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    Snack nachos = new Snack( "nachos" );
    Snack frozenYogurt = new Snack( "frozen yogurt" );
    Ingredient milk = new Ingredient( "milk" );
    Ingredient salt = new Ingredient( "salt" );

    nachos.getIngredients().add( salt );
    salt.getContainedIn().add( nachos );

    frozenYogurt.getIngredients().add( milk );
    milk.getContainedIn().add( frozenYogurt );

    frozenYogurt.getIngredients().add( salt );
    salt.getContainedIn().add( frozenYogurt );

    // when
    session.persist( nachos );
    session.persist( frozenYogurt );
    session.persist( milk );
    session.persist( salt );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    // then
    Snack frozenYogurtLoaded = (Snack) session.load( Snack.class, frozenYogurt.getId() );

    assertThat( frozenYogurtLoaded.getName() ).isEqualTo( "frozen yogurt" );
    assertThat( frozenYogurtLoaded.getIngredients() ).onProperty( "name" ).containsOnly( "salt", "milk" );

    tx.commit();
    session.clear();
    tx = session.beginTransaction();

    Ingredient milkLoaded = (Ingredient) session.load( Ingredient.class, milk.getId() );
    assertThat( milkLoaded.getName() ).isEqualTo( "milk" );
    assertThat( milkLoaded.getContainedIn() ).onProperty( "name" ).containsOnly( "frozen yogurt" );

    Ingredient saltLoaded = (Ingredient) session.load( Ingredient.class, salt.getId() );
    assertThat( saltLoaded.getName() ).isEqualTo( "salt" );
    assertThat( saltLoaded.getContainedIn() ).onProperty( "name" ).containsOnly( "nachos", "frozen yogurt" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void canUseGenerationTypeAutoWithObjectId() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    Singer gloria = new Singer( "Gloria" );

    // when
    session.persist( gloria );

    tx.commit();
    assertThat( gloria.getId() ).isNotNull();
    session.clear();
    tx = session.beginTransaction();

    Singer singerLoaded = (Singer) session.load( Singer.class, gloria.getId() );

    // then
    assertThat( singerLoaded.getName() ).isEqualTo( "Gloria" );

    tx.commit();
    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void stringUsedAsIdIsMappedToObjectId() {
    OgmSession session = openSession();
    Transaction tx = session.beginTransaction();

    // given
    Comedian monty = new Comedian( "Monty" );

    // when
    session.persist( monty );

    tx.commit();
    assertThat( monty.getId() ).isNotNull();
    session.clear();
    tx = session.beginTransaction();

    // then
    assertCountQueryResult( session, "db.Comedian.count({ \"_id\" : { \"$oid\" : \"" + monty.getId() + "\" }, \"name\" : \"Monty\" })", 1L);

    Comedian montyLoaded = (Comedian) session.load( Comedian.class, monty.getId() );
    assertThat( ObjectId.isValid( montyLoaded.getId() ) ).isTrue();
    assertThat( montyLoaded.getName() ).isEqualTo( "Monty" );

    tx.commit();
    session.close();
  }
View Full Code Here

TOP

Related Classes of org.hibernate.ogm.OgmSession

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.