org.hibernate.Transaction.commit()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.0k)|赞(0)|评价(0)|浏览(126)

本文整理了Java中org.hibernate.Transaction.commit()方法的一些代码示例,展示了Transaction.commit()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.commit()方法的具体详情如下:
包路径:org.hibernate.Transaction
类名称:Transaction
方法名:commit

Transaction.commit介绍

[英]Commit this transaction. This might entail a number of things depending on the context:

  • If this transaction is the #isInitiator, Session#flush the Sessionwith which it is associated (unless Session is in FlushMode#MANUAL).
  • If this transaction is the #isInitiator, commit the underlying transaction.
  • Coordinate various callbacks
    [中]提交此事务。根据具体情况,这可能需要做很多事情:
    *如果此事务是#isInitiator,则会话#刷新与其关联的会话(除非会话处于刷新模式#手动)。
    *如果此事务是#isInitiator,则提交基础事务。
    *协调各种回调

代码示例

代码示例来源:origin: iluwatar/java-design-patterns

@Override
 public Spell findByName(String name) {
  Transaction tx = null;
  Spell result = null;
  try (Session session = getSessionFactory().openSession()) {
   tx = session.beginTransaction();
   Criteria criteria = session.createCriteria(persistentClass);
   criteria.add(Restrictions.eq("name", name));
   result = (Spell) criteria.uniqueResult();
   tx.commit();
  } catch (Exception e) {
   if (tx != null) {
    tx.rollback();
   }
   throw e;
  }
  return result;
 }
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testSimpleCaseStatementFixture() {
  Session s = openSession();
  Transaction t = s.beginTransaction();
  s.createQuery( "select case p.name when 'Steve' then 'x' else 'y' end from Person p" )
      .list();
  t.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@SuppressWarnings("unchecked")
  private static <T> List<T> doSearch(Session session, Class<T> clazz, Integer entityId) {
    FullTextSession fullTextSession = Search.getFullTextSession( session );

    Transaction tx = fullTextSession.beginTransaction();
    FullTextQuery query = fullTextSession.createFullTextQuery(
        new TermQuery( new Term( "id", entityId.toString() ) ), clazz );

    List<T> result = query.list();
    tx.commit();
    return result;
  }
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testMultipleUpdatesTriggeredByContainedIn() {
  PersonalContact contact = createTestData();
  FullTextSession s = Search.getFullTextSession( openSession( ) );
  s.getTransaction().begin();
  contact = (PersonalContact) s.load( PersonalContact.class, contact.getId() );
  contact.setEmail( "spam@hibernate.org" );
  s.getTransaction().commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testObjectTypeFilteringTwoClasses() throws Exception {
  Session session = openSession();
  Transaction tx = session.beginTransaction();
  FullTextSession fullTextSession = Search.getFullTextSession( session );
  FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery, Author.class, Music.class );
  List result = fullTextQuery.list();
  assertEquals( "Should match the author and music only", 2, result.size() );
  tx.commit();
  fullTextSession.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testNarrow() throws Exception {
  Session s = openSession();
  Transaction t = s.beginTransaction();
  s.createQuery("from E e join e.reverse as b where b.count=1").list();
  s.createQuery("from E e join e.as as b where b.count=1").list();
  t.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
@TestForIssue(jiraKey = "HSEARCH-1271")
public void testPurgeWithNullAsIdDeletesAllIndexedDocuments() throws Exception {
  assertNumberOfIndexedEntitiesForTypes( 1, Tree.class );
  assertNumberOfIndexedEntitiesForTypes( 4, Leaf.class );
  FullTextSession fullTextSession = Search.getFullTextSession( openSession() );
  Transaction tx = fullTextSession.beginTransaction();
  fullTextSession.purge( Leaf.class, null );
  tx.commit();
  fullTextSession.close();
  assertNumberOfIndexedEntitiesForTypes( 1, Tree.class );
  assertNumberOfIndexedEntitiesForTypes( 0, Leaf.class );
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testObjectTypeFilteringSingleClass() throws Exception {
  Session session = openSession();
  Transaction tx = session.beginTransaction();
  FullTextSession fullTextSession = Search.getFullTextSession( session );
  FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery, Music.class );
  List result = fullTextQuery.list();
  assertEquals( "Should match the music only", 1, result.size() );
  tx.commit();
  fullTextSession.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testCoalesce() {
  Session session = openSession();
  Transaction txn = session.beginTransaction();
  session.createQuery("from Human h where coalesce(h.nickName, h.name.first, h.name.last) = 'max'").list();
  session.createQuery("select nullif(nickName, '1e1') from Human").list();
  txn.commit();
  session.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testImplicitObjectTypeFiltering() throws Exception {
  Session session = openSession();
  Transaction tx = session.beginTransaction();
  FullTextSession fullTextSession = Search.getFullTextSession( session );
  FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( luceneQuery );
  List result = fullTextQuery.list();
  assertEquals( "Should match all types", 3, result.size() );
  tx.commit();
  fullTextSession.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testJdkEnumStyleEnumConstant() throws Exception {
  Session s = openSession();
  s.beginTransaction();
  s.createQuery( "from Zoo z where z.classification = org.hibernate.test.hql.Classification.LAME" ).list();
  s.getTransaction().commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testBooleanProperty() throws Exception {
  Session s = openSession();
  FullTextSession session = Search.getFullTextSession( s );
  Transaction tx = s.beginTransaction();
  QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'term' : { 'active' : 'true' } } }" );
  List<?> result = session.createFullTextQuery( query, GolfPlayer.class )
      .setProjection( ElasticsearchProjectionConstants.ID )
      .list();
  assertThat( result ).hasSize( 1 );
  Object[] projection = (Object[]) result.iterator().next();
  assertThat( projection[0] ).isEqualTo( 1L );
  tx.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testSimpleCaseStatementWithParamResult() {
  Session s = openSession();
  Transaction t = s.beginTransaction();
  s.createQuery( "select case p.name when 'Steve' then :opt1 else p.name end from Person p" )
      .setString( "opt1", "x" )
      .list();
  t.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testStringMappedNumericProperty() throws Exception {
  Session s = openSession();
  FullTextSession session = Search.getFullTextSession( s );
  Transaction tx = s.beginTransaction();
  QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'match' : { 'puttingStrength' : '2.5' } } }" );
  List<?> result = session.createFullTextQuery( query, GolfPlayer.class )
      .setProjection( ElasticsearchProjectionConstants.ID, "puttingStrength" )
      .list();
  assertThat( result ).hasSize( 1 );
  Object[] projection = (Object[]) result.iterator().next();
  assertThat( projection[0] ).isEqualTo( 1L );
  assertThat( projection[1] ).isEqualTo( 2.5D );
  tx.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testSave() {
  Session s = openSession();
  Transaction transaction = s.beginTransaction();
  try {
    s.save( new Company() );
    s.getTransaction().commit();
  }
  finally {
    s.close();
  }
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testGetResultSize() throws Exception {
  Session s = openSession();
  FullTextSession session = Search.getFullTextSession( s );
  Transaction tx = s.beginTransaction();
  QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'match' : { 'abstract' : 'Hibernate' } } }" );
  FullTextQuery fullTextQuery = session.createFullTextQuery( query, ScientificArticle.class );
  assertThat( fullTextQuery.getResultSize() ).isEqualTo( 4 );
  tx.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testConcatenation() {
  // simple syntax checking...
  Session s = openSession();
  s.beginTransaction();
  s.createQuery( "from Human h where h.nickName = '1' || 'ov' || 'tha' || 'few'" ).list();
  s.getTransaction().commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testNumericFieldQuery() throws Exception {
  Session s = openSession();
  FullTextSession session = Search.getFullTextSession( s );
  Transaction tx = s.beginTransaction();
  QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'range' : { 'wordCount' : { 'gte' : 8, 'lt' : 10 } } } }" );
  List<?> result = session.createFullTextQuery( query ).list();
  assertThat( result ).extracting( "title" ).containsExactlyInAnyOrder( "Latest in ORM", "ORM for beginners" );
  tx.commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-orm

@Test
public void testJoinFetchCollectionOfValues() {
  // note: simply performing syntax checking in the db
  Session s = openSession();
  s.beginTransaction();
  s.createQuery( "select h from Human as h join fetch h.nickNames" ).list();
  s.getTransaction().commit();
  s.close();
}

代码示例来源:origin: hibernate/hibernate-search

@Test
public void testRestrictionByType() throws Exception {
  Session s = openSession();
  FullTextSession session = Search.getFullTextSession( s );
  Transaction tx = s.beginTransaction();
  QueryDescriptor query = ElasticsearchQueries.fromJson( "{ 'query': { 'match' : { 'abstract' : 'Hibernate' } } }" );
  List<?> result = session.createFullTextQuery( query, ResearchPaper.class ).list();
  assertThat( result ).extracting( "title" ).containsExactlyInAnyOrder( "Very important research on Hibernate", "Some research" );
  tx.commit();
  s.close();
}

相关文章