⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmttest.java

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		assertEquals( getSessions().getStatistics().getSecondLevelCacheHitCount(), 0 );		assertEquals( getSessions().getStatistics().getSecondLevelCacheMissCount(), 0 );		assertEquals( getSessions().getStatistics().getEntityLoadCount(), 4 );		assertEquals( getSessions().getStatistics().getEntityFetchCount(), 0 );		assertEquals( getSessions().getStatistics().getQueryExecutionCount(), 2 );		assertEquals( getSessions().getStatistics().getQueryCachePutCount(), 2 );		assertEquals( getSessions().getStatistics().getQueryCacheHitCount(), 0 );		assertEquals( getSessions().getStatistics().getQueryCacheMissCount(), 2 );		SimpleJtaTransactionManagerImpl.getInstance().resume( tx1 );		tx1.commit();		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s3 = openSession();		s3.createCriteria( "Item" ).addOrder( Order.asc( "description" ) )				.setCacheable( true ).list();		SimpleJtaTransactionManagerImpl.getInstance().commit();		assertEquals( getSessions().getStatistics().getSecondLevelCacheHitCount(), 0 );		assertEquals( getSessions().getStatistics().getSecondLevelCacheMissCount(), 0 );		assertEquals( getSessions().getStatistics().getEntityLoadCount(), 6 );		assertEquals( getSessions().getStatistics().getEntityFetchCount(), 0 );		assertEquals( getSessions().getStatistics().getQueryExecutionCount(), 3 );		assertEquals( getSessions().getStatistics().getQueryCachePutCount(), 3 );		assertEquals( getSessions().getStatistics().getQueryCacheHitCount(), 0 );		assertEquals( getSessions().getStatistics().getQueryCacheMissCount(), 3 );		SimpleJtaTransactionManagerImpl.getInstance().resume( tx4 );		List r4 = s4.createCriteria( "Item" ).addOrder( Order.asc( "description" ) )				.setCacheable( true ).list();		assertEquals( r4.size(), 2 );		tx4.commit();		assertEquals( getSessions().getStatistics().getSecondLevelCacheHitCount(), 2 );		assertEquals( getSessions().getStatistics().getSecondLevelCacheMissCount(), 0 );		assertEquals( getSessions().getStatistics().getEntityLoadCount(), 6 );		assertEquals( getSessions().getStatistics().getEntityFetchCount(), 0 );		assertEquals( getSessions().getStatistics().getQueryExecutionCount(), 3 );		assertEquals( getSessions().getStatistics().getQueryCachePutCount(), 3 );		assertEquals( getSessions().getStatistics().getQueryCacheHitCount(), 1 );		assertEquals( getSessions().getStatistics().getQueryCacheMissCount(), 3 );		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		s.createQuery( "delete from Item" ).executeUpdate();		SimpleJtaTransactionManagerImpl.getInstance().commit();	}	public void testCMT() throws Exception {		getSessions().getStatistics().clear();		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = openSession();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		assertFalse( s.isOpen() );		assertEquals( getSessions().getStatistics().getFlushCount(), 0 );		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().rollback();		assertFalse( s.isOpen() );		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		Map item = new HashMap();		item.put( "name", "The Item" );		item.put( "description", "The only item we have" );		s.persist( "Item", item );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		assertFalse( s.isOpen() );		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		item = ( Map ) s.createQuery( "from Item" ).uniqueResult();		assertNotNull( item );		s.delete( item );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		assertFalse( s.isOpen() );		assertEquals( getSessions().getStatistics().getTransactionCount(), 4 );		assertEquals( getSessions().getStatistics().getSuccessfulTransactionCount(), 3 );		assertEquals( getSessions().getStatistics().getEntityDeleteCount(), 1 );		assertEquals( getSessions().getStatistics().getEntityInsertCount(), 1 );		assertEquals( getSessions().getStatistics().getSessionOpenCount(), 4 );		assertEquals( getSessions().getStatistics().getSessionCloseCount(), 4 );		assertEquals( getSessions().getStatistics().getQueryExecutionCount(), 1 );		assertEquals( getSessions().getStatistics().getFlushCount(), 2 );		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		s.createQuery( "delete from Item" ).executeUpdate();		SimpleJtaTransactionManagerImpl.getInstance().commit();	}	public void testCurrentSession() throws Exception {		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = getSessions().getCurrentSession();		Session s2 = getSessions().getCurrentSession();		assertSame( s, s2 );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		assertFalse( s.isOpen() );		// TODO : would be nice to automate-test that the SF internal map actually gets cleaned up		//      i verified that is does currently in my debugger...	}	public void testCurrentSessionWithIterate() throws Exception {		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = openSession();		Map item1 = new HashMap();		item1.put( "name", "Item - 1" );		item1.put( "description", "The first item" );		s.persist( "Item", item1 );		Map item2 = new HashMap();		item2.put( "name", "Item - 2" );		item2.put( "description", "The second item" );		s.persist( "Item", item2 );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// First, test iterating the partial iterator; iterate to past		// the first, but not the second, item		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		Iterator itr = s.createQuery( "from Item" ).iterate();		if ( !itr.hasNext() ) {			fail( "No results in iterator" );		}		itr.next();		if ( !itr.hasNext() ) {			fail( "Only one result in iterator" );		}		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// Next, iterate the entire result		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		itr = s.createQuery( "from Item" ).iterate();		if ( !itr.hasNext() ) {			fail( "No results in iterator" );		}		while ( itr.hasNext() ) {			itr.next();		}		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = openSession();		s.createQuery( "delete from Item" ).executeUpdate();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();	}	public void testCurrentSessionWithScroll() throws Exception {		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = getSessions().getCurrentSession();		Map item1 = new HashMap();		item1.put( "name", "Item - 1" );		item1.put( "description", "The first item" );		s.persist( "Item", item1 );		Map item2 = new HashMap();		item2.put( "name", "Item - 2" );		item2.put( "description", "The second item" );		s.persist( "Item", item2 );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// First, test partially scrolling the result with out closing		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		ScrollableResults results = s.createQuery( "from Item" ).scroll();		results.next();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// Next, test partially scrolling the result with closing		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		results = s.createQuery( "from Item" ).scroll();		results.next();		results.close();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// Next, scroll the entire result (w/o closing)		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		results = s.createQuery( "from Item" ).scroll();		while ( !results.isLast() ) {			results.next();		}		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		// Next, scroll the entire result (closing)		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		results = s.createQuery( "from Item" ).scroll();		while ( !results.isLast() ) {			results.next();		}		results.close();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		SimpleJtaTransactionManagerImpl.getInstance().begin();		s = getSessions().getCurrentSession();		s.createQuery( "delete from Item" ).executeUpdate();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();	}	public void testAggressiveReleaseWithExplicitDisconnectReconnect() throws Exception {		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = getSessions().getCurrentSession();		s.createQuery( "from Item" ).list();		s.disconnect();		byte[] bytes = SerializationHelper.serialize( s );		s = ( Session ) SerializationHelper.deserialize( bytes );		s.reconnect();		s.createQuery( "from Item" ).list();		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();	}	public void testAggressiveReleaseWithConnectionRetreival() throws Exception {		SimpleJtaTransactionManagerImpl.getInstance().begin();		Session s = openSession();		Map item1 = new HashMap();		item1.put( "name", "Item - 1" );		item1.put( "description", "The first item" );		s.save( "Item", item1 );		Map item2 = new HashMap();		item2.put( "name", "Item - 2" );		item2.put( "description", "The second item" );		s.save( "Item", item2 );		SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		try {			SimpleJtaTransactionManagerImpl.getInstance().begin();			s = getSessions().getCurrentSession();			s.createQuery( "from Item" ).scroll().next();			s.connection();			SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		}		finally {			SimpleJtaTransactionManagerImpl.getInstance().begin();			s = openSession();			s.createQuery( "delete from Item" ).executeUpdate();			SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit();		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -