Package org.hibernate.ogm

Examples of org.hibernate.ogm.OgmSession


   */
  protected void configure(Configuration cfg) {
  }

  protected OgmSession openSession() {
    OgmSession session = sessions.openSession();
    openedSessions.add( session );
    return session;
  }
View Full Code Here


    }
  }

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

    Query query = session.createNativeQuery( "{ $query : { author : 'Oscar Wilde' }, $orderby : { name : 1 } }" )
        .addEntity( OscarWildePoem.class )
        .setFirstResult( 1 );
    @SuppressWarnings("unchecked")
    List<OscarWildePoem> result = query.list();

    assertThat( result ).onProperty( "id" ).containsExactly( 3L, 1L );

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

    session.close();
  }

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

    Query query = session.createNativeQuery( "{ $query : { author : 'Oscar Wilde' }, $orderby : { name : 1 } }" )
        .addEntity( OscarWildePoem.class )
        .setMaxResults( 2 );
    @SuppressWarnings("unchecked")
    List<OscarWildePoem> result = query.list();

    assertThat( result ).onProperty( "id" ).containsExactly( 2L, 3L );

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

    session.close();
  }

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

    String nativeQuery = "{ $query : { author : 'Oscar Wilde' }, $orderby : { name : 1 } }";
    @SuppressWarnings("unchecked")
    List<OscarWildePoem> result = session.createNativeQuery( nativeQuery )
        .addEntity( OscarWildePoem.TABLE_NAME, OscarWildePoem.class )
        .list();

    assertThat( result ).onProperty( "id" ).containsExactly( 2L, 3L, 1L );

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

    session.close();
  }

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

    String nativeQuery = "{ $query : { author : 'Oscar Wilde' }, $orderby : { name : 1 } }";
    @SuppressWarnings("unchecked")
    List<OscarWildePoem> result = session.createNativeQuery( nativeQuery )
        .addEntity( OscarWildePoem.TABLE_NAME, OscarWildePoem.class )
        .setFirstResult( 1 )
        .setMaxResults( 1 )
        .list();

    assertThat( result ).onProperty( "id" ).containsExactly( 3L );

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

    session.close();
  }

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

    String nativeQuery = "{ $and: [ { name : 'Portia' }, { author : 'Oscar Wilde' } ] }";
    try {
      session.createNativeQuery( nativeQuery ).uniqueResult();
      transaction.commit();
    }
    catch (Exception he) {
      transaction.rollback();
      String message = he.getMessage();
      assertThat( message )
        .as( "The native query doesn't define a returned entity, there should be a specific exception" )
        .contains( "OGM001217" );
    }
    finally {
      session.clear();
      session.close();
    }
  }
View Full Code Here

  }

  @Test
  @SuppressWarnings("unchecked")
  public void testEntitiesInsertedInCurrentSessionAreFoundByNativeQuery() throws Exception {
    OgmSession session = openSession();
    Transaction transaction = session.beginTransaction();

    String nativeQuery = "{ name : 'Her Voice' }";

    Query query = session.createNativeQuery( nativeQuery )
        .addEntity( OscarWildePoem.class );

    List<OscarWildePoem> result = query.list();
    assertThat( result ).isEmpty();

    OscarWildePoem voice = new OscarWildePoem( 4L, "Her Voice", "Oscar Wilde" );
    session.persist( voice );

    result = query.list();
    assertThat( result ).onProperty( "id" ).containsExactly( 4L );

    transaction.commit();

    transaction = session.beginTransaction();
    session.delete( voice );
    transaction.commit();

    session.close();
  }
View Full Code Here

    session.close();
  }

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

    String nativeQuery = "{ $query : { author : 'Oscar Wilde' }, $orderby : { name : 1 } }";
    try {
      session.createNativeQuery( nativeQuery ).list();
    }
    catch (Exception he) {
      transaction.rollback();
      String message = he.getMessage();
      assertThat( message )
        .as( "The native query doesn't define a returned entity, there should be a specific exception" )
        .contains( "OGM001217" );
    }
    finally {
      session.clear();
      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.