当前位置: 首页>>代码示例>>Java>>正文


Java Session.close方法代码示例

本文整理汇总了Java中net.sf.hibernate.Session.close方法的典型用法代码示例。如果您正苦于以下问题:Java Session.close方法的具体用法?Java Session.close怎么用?Java Session.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.sf.hibernate.Session的用法示例。


在下文中一共展示了Session.close方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: changeUserDetails

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates detached object support
 */
public void changeUserDetails(User user) throws Exception {
	System.out.println("Changing user details for: " + user.getId() );
	
	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
		
		s.saveOrUpdate(user);
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:24,代码来源:Main.java

示例2: changeItemDescription

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates automatic dirty checking
 */
public void changeItemDescription(Long itemId, String description) throws Exception {
	System.out.println("Changing auction item description for: " + itemId );
	
	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
	
		AuctionItem item = (AuctionItem) s.get(AuctionItem.class, itemId);
		if (item==null) throw new IllegalArgumentException("No item for the given id: " + itemId);
		item.setDescription(description);
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:26,代码来源:Main.java

示例3: viewAllAuctionsFast

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates HQL projection/aggregation
 */
public void viewAllAuctionsFast() throws Exception {
	System.out.println("Viewing all auction item info");

	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
	
		List auctions = s.createQuery(
			"select new AuctionInfo( item.id, item.description, item.ends, max(bid.amount) ) "
			+ "from AuctionItem item "
			+ "left join item.bids bid " 
			+ "group by item.id, item.description, item.ends "
			+ "order by item.ends desc"
			)
			.setMaxResults(100)
			.list();
			
		Iterator iter = auctions.iterator();
		while ( iter.hasNext() ) {
			AuctionInfo ai = (AuctionInfo) iter.next();
			System.out.println(
				"Auction: " + ai.getId() + " - " + ai.getDescription() + 
				", ends: " + ai.getEnds() + 
				", highest bid: " + ai.getMaxAmount() 
			);
		}
		System.out.println();
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:43,代码来源:Main.java

示例4: viewAllAuctionsSlow

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates HQL with runtime fetch strategy
 */
public void viewAllAuctionsSlow() throws Exception {
	System.out.println("Viewing all auction item objects");

	Session s = factory.openSession();
	Transaction tx=null;
	try {
		s.setFlushMode(FlushMode.NEVER); //entirely optional!!
		tx = s.beginTransaction();
	
		List auctions = s.createQuery(
			"from AuctionItem item "
			+ "left join fetch item.bids bid left join fetch bid.bidder " 
			+ "order by item.ends desc"
			)
			.setMaxResults(100)
			.list();
			
		Iterator iter = new HashSet(auctions).iterator();
		while ( iter.hasNext() ) {
			AuctionItem auction = (AuctionItem) iter.next();
			System.out.println( 
				"Auction: " + auction.getId() + " - " + auction.getDescription() + 
				", ends: " + auction.getEnds() + 
				", bids: " + auction.getBids() 
			);
		}
		System.out.println();
	
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:42,代码来源:Main.java

示例5: bidOnAuction

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates transitive persistence with detached object support
 */
public void bidOnAuction(User bidder, AuctionItem item, float amount) throws Exception {
	System.out.println("Creating a new bid for auction item: " + item.getId() + " by user: " + bidder.getId() );
	
	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
	
		s.lock(item, LockMode.NONE);
		s.lock(bidder, LockMode.NONE);
			
		Bid bid = new Bid();
		bid.setBidder(bidder);
		bid.setDatetime( new Date() );
		bid.setAmount(amount);
		bid.setItem(item);
		bidder.getBids().add(bid);
		item.getBids().add(bid);
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:33,代码来源:Main.java

示例6: viewUserAuctions

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates query by criteria with runtime fetch strategy
 */
public void viewUserAuctions(Long sellerId) throws Exception {
	System.out.println("Viewing user and auctions: " + sellerId);
	
	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
	
		List list = s.createCriteria(User.class)
			.add( Expression.eq("id", sellerId) )
			.setFetchMode("auctions", FetchMode.EAGER)
			.list();
		
		if (list.size()==0) throw new IllegalArgumentException("No user for the given id: " + sellerId);
		User user = (User) list.get(0);
		System.out.println(
			"User: " + user.getId() + " - " + user.getName() + 
			", email: " + user.getEmail() +
			", auctions: " + user.getAuctions()
		);
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:35,代码来源:Main.java

示例7: viewAuctionsByDescription

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates query by example
 */
public void viewAuctionsByDescription(String description, int condition) throws Exception {
	String msg = "Viewing auctions containing: " + description;
	if (condition>0) msg += " with condition: " + condition + "/10";

	AuctionItem item = new AuctionItem();
	item.setDescription(description);
	item.setCondition(condition);
	
	Session s = factory.openSession();
	Transaction tx=null;
	try {
		tx = s.beginTransaction();
	
		Iterator iter = s.createCriteria(AuctionItem.class)
			.add( Example.create(item)
				.enableLike(MatchMode.ANYWHERE)
				.ignoreCase()
				.excludeZeroes() 
			)
			.list()
			.iterator();
		
		System.out.println(msg);
		while ( iter.hasNext() ) {
			item = (AuctionItem) iter.next();
			System.out.println("Item: " + item.getId() + " - " + item.getDescription() );
		}
		System.out.println();
		
		tx.commit();
	}
	catch (Exception e) {
		if (tx!=null) tx.rollback();
		throw e;
	}
	finally {
		s.close();
	}
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:43,代码来源:Main.java

示例8: closeHard

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Closes session hard ignoring exceptions
 */
public static void closeHard(final Session session) {
  try {
    session.close();
  } catch (Exception e) {
    // ignore
    log.warn("Exception while closing a session", e);
  }
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:12,代码来源:PersistanceUtils.java

示例9: test_SaveNewSystemProperty

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Tests saving modified property
 */
public void test_SaveNewSystemProperty() throws Exception {
  final SystemProperty systemProperty = new SystemProperty();
  systemProperty.setPropertyName("test.property.name");
  systemProperty.setPropertyValue("test.property.value");
  final Session session = configManager.openSession();
  final Transaction transacton = session.beginTransaction();
  session.saveOrUpdate(systemProperty);
  transacton.commit();

  session.close();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:15,代码来源:SSTestConfigurationManager.java

示例10: closeReadOnly

import net.sf.hibernate.Session; //导入方法依赖的package包/类
protected void closeReadOnly(Session sessio) {
    if (sessio != null && sessio.isOpen()) {
        try {
            sessio.close();
        } catch (HibernateException e) {
            throw new EJBException(e);
        }
    }
}
 
开发者ID:GovernIB,项目名称:sistra,代码行数:10,代码来源:HibernateEJB.java

示例11: close

import net.sf.hibernate.Session; //导入方法依赖的package包/类
protected void close(Session sessio) {
    if (sessio != null && sessio.isOpen()) {
        try {
            if (sessio.isDirty()) {
                sessio.flush();
            }
            sessio.close();
        } catch (HibernateException e) {
            throw new EJBException(e);
        }
    }
}
 
开发者ID:GovernIB,项目名称:sistra,代码行数:13,代码来源:PluginDefaultRDS.java

示例12: createTestAuctions

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Demonstrates transitive persistence
 */
public void createTestAuctions() throws Exception {
	System.out.println("Setting up some test data");
	
	Session s = factory.openSession();
	Transaction tx = s.beginTransaction();
	
	User seller = new User();
	seller.setUserName("oldirty");
	seller.setName( new Name("ol' dirty", null, "bastard") );
	seller.setEmail("[email protected]");
	seller.setAuctions( new ArrayList() );
	s.save(seller);
	User bidder1 = new User();
	bidder1.setUserName("1E1");
	bidder1.setName( new Name( "oney", new Character('1'), "one") );
	bidder1.setEmail("[email protected]");
	bidder1.setBids( new ArrayList() );
	s.save(bidder1);
	User bidder2 = new User();
	bidder2.setUserName("izi");
	bidder2.setName( new Name("iz", null, "inizi") );
	bidder2.setEmail("[email protected]");
	bidder2.setBids( new ArrayList() );
	s.save(bidder2);
	
	for ( int i=0; i<3; i++ ) {
		AuctionItem item = new AuctionItem();
		item.setDescription("auction item " + i);
		item.setEnds( new Date() );
		item.setBids( new ArrayList() );
		item.setSeller(seller);
		item.setCondition(i*3 + 2);
		for ( int j=0; j<i; j++ ) {
			
			Bid bid = new Bid();
			bid.setBidder(bidder1);
			bid.setAmount(j);
			bid.setDatetime( new Date() );
			bid.setItem(item);
			item.getBids().add(bid);
			bidder1.getBids().add(bid);
			
			Bid bid2 = new Bid();
			bid2.setBidder(bidder2);
			bid2.setAmount( j+ 0.5f);
			bid2.setDatetime( new Date() );
			bid2.setItem(item);
			item.getBids().add(bid2);
			bidder2.getBids().add(bid2);
		}
		seller.getAuctions().add(item);
		mainItem = item;
	}
	mainBidder = bidder2;
	mainSeller = seller;
	
	BuyNow buyNow = new BuyNow();
	buyNow.setAmount(1.0f);
	buyNow.setDatetime( new Date() );
	buyNow.setBidder(mainBidder);
	buyNow.setItem(mainItem);
	mainBidder.getBids().add(buyNow);
	mainItem.getBids().add(buyNow);
	
	tx.commit();
	s.close();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:71,代码来源:Main.java

示例13: commitAndClose

import net.sf.hibernate.Session; //导入方法依赖的package包/类
/**
 * Flushes session, commits transaction and closes session
 *
 * @param transaction
 * @param session
 *
 * @throws HibernateException
 */
public static void commitAndClose(final Transaction transaction, final Session session) throws HibernateException {
  session.flush();
  transaction.commit();
  session.close();
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:14,代码来源:PersistanceUtils.java


注:本文中的net.sf.hibernate.Session.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。