本文整理汇总了Java中net.sf.hibernate.Transaction类的典型用法代码示例。如果您正苦于以下问题:Java Transaction类的具体用法?Java Transaction怎么用?Java Transaction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Transaction类属于net.sf.hibernate包,在下文中一共展示了Transaction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: connect
import net.sf.hibernate.Transaction; //导入依赖的package包/类
private void connect() throws HibernateException {
if (!isCurrentTransaction) {
//if there is no current transaction callback registered
//when we obtain the connection, try to register one now
//note that this is not going to handle the case of
//multiple-transactions-per-connection when the user is
//manipulating transactions (need to use Hibernate txn)
TransactionManager tm = factory.getTransactionManager();
if (tm!=null) {
try {
javax.transaction.Transaction tx = tm.getTransaction();
if ( isJTATransactionActive(tx) ) {
tx.registerSynchronization( new CacheSynchronization(this) );
isCurrentTransaction = true;
}
}
catch (Exception e) {
throw new TransactionException("could not register synchronization with JTA TransactionManager", e);
}
}
}
connection = batcher.openConnection();
connect = false;
}
示例2: changeUserDetails
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例3: changeItemDescription
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例4: hibernateInit
import net.sf.hibernate.Transaction; //导入依赖的package包/类
@Ignore
@Test
public void hibernateInit() throws Exception
{
Database.init();
Configuration config = new Configuration();
config.configure("hibernate.cfg.xml");
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// Filter-time code (H3SessionAjaxFilter)
transaction.commit();
// Shutdown code, when do we need to do this?
sessionFactory.close();
}
示例5: createObject
import net.sf.hibernate.Transaction; //导入依赖的package包/类
public Object createObject(Object obj){
Session s = null;
Transaction t = null;
try {
s = sf.openSession();
t = s.beginTransaction();
s.save(obj);
t.commit();
} catch (Exception ex) {
ex.printStackTrace();
try {
t.rollback();
} catch (Exception ex3){
ex3.printStackTrace();
}
} finally {
try {
s.close();
} catch (Exception ex2) {
ex2.printStackTrace();
}
}
return obj;
}
示例6: viewAllAuctionsFast
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例7: viewAllAuctionsSlow
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例8: bidOnAuction
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例9: viewUserAuctions
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例10: viewAuctionsByDescription
import net.sf.hibernate.Transaction; //导入依赖的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();
}
}
示例11: rollbackHard
import net.sf.hibernate.Transaction; //导入依赖的package包/类
/**
* Rolls back transaction ignoring exceptions
*
* @param transaction
*/
public static void rollbackHard(final Transaction transaction) {
try {
transaction.rollback();
} catch (Exception e) {
// ignore
log.warn("Exception while rolling back a TX", e);
}
}
示例12: test_SaveNewSystemProperty
import net.sf.hibernate.Transaction; //导入依赖的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();
}
示例13: main
import net.sf.hibernate.Transaction; //导入依赖的package包/类
public static void main(String[] args) throws HibernateException
{
Person person = new Person();
person.setName("John Smith");
person.setEmail("[email protected]");
Session session = _sessions.openSession();
Transaction tx = null;
try
{
tx = session.beginTransaction();
session.save(person);
tx.commit();
}
catch (HibernateException he)
{
if (tx != null)
tx.rollback();
throw he;
}
finally
{
session.close();
}
}
示例14: createObject
import net.sf.hibernate.Transaction; //导入依赖的package包/类
public Object createObject(Object obj) throws ApplicationException{
Session s = null;
Transaction t = null;
try {
s = sf.openSession();
t = s.beginTransaction();
s.save(obj);
t.commit();
} catch (Exception ex) {
log.error(ex);
try {
t.rollback();
} catch (Exception ex3){
if (log.isDebugEnabled())
log.debug("createObject|Failure|Error in Rolling Back Transaction|"+ ex3.getMessage());
}
if (log.isDebugEnabled())
log .debug("createObject|Failure|Error in creating the "+ obj.getClass().getName()+ ex.getMessage());
throw new ApplicationException("An error occured in creating the "+obj.getClass().getName() + "\n" + ex.getMessage());
} finally {
try {
s.close();
} catch (Exception ex2) {
if (log.isDebugEnabled())
log.debug("createObject|Failure|Error in Closing Session |" + ex2.getMessage());
}
}
if (log.isDebugEnabled())
log .debug("createObject|Success|Successful in creating the "+ obj.getClass().getName());
return obj;
}
示例15: updateObject
import net.sf.hibernate.Transaction; //导入依赖的package包/类
public Object updateObject(Object obj) throws ApplicationException{
Session s = null;
Transaction t = null;
try {
s = sf.openSession();
t = s.beginTransaction();
s.update(obj);
t.commit();
} catch (Exception ex) {
log.error(ex);
try {
t.rollback();
} catch (Exception ex3){
if (log.isDebugEnabled())
log.debug("updateObject|Failure|Error in Rolling Back Transaction|"+ ex3.getMessage());
}
if (log.isDebugEnabled())
log .debug("updateObject|Failure|Error in updating the "+ obj.getClass().getName()+ ex.getMessage());
throw new ApplicationException("An error occured in updating the "+obj.getClass().getName() + "\n" + ex.getMessage());
} finally {
try {
s.close();
} catch (Exception ex2) {
if (log.isDebugEnabled())
log.debug("updateObject|Failure|Error in Closing Session |" + ex2.getMessage());
}
}
if (log.isDebugEnabled())
log .debug("updateObject|Success|Successful in updating the "+ obj.getClass().getName());
return obj;
}