[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - Manually having flush session

smithbstl do-not-reply at jboss.com
Fri Jul 28 11:36:19 EDT 2006


I am working with JBOSS 4.0.4GA and Hibernate 3.1.3

I am attempting to manipulate a record in Oracle.  For some reason, I am having to manually flush the session to get the changes to show up in the database.  From the documentation I have read, I should not have to flush the session as long as I call commit() on the transaction.

I am using Hibernate as a MBean Service in JBOSS with har deployment.

Here is my code

    public void delete(int acctId){
  |         Session session = null;
  |         Transaction tx = null;
  |         try {
  |             session = ServiceLocator.getHibernateSession(HIBERNATE_SESSION_FACTORY);
  |             tx = session.beginTransaction();
  |             AccountBean acctBean = (AccountBean) session.get(AccountBean.class,acctId);
  |             //For debugging
  |             if (acctBean == null) {
  |                 System.out.println("AccountBean = Null");
  |             } else {
  |                 System.out.println("AccountDelete");
  |                 System.out.println("-AcctID = " + acctBean.getAcctId());
  |                 System.out.println("-AcctNum = " + acctBean.getAcctNum());
  |                 System.out.println("-AcctName = " + acctBean.getAcctName());                
  |             }
  |             session.delete(acctBean);
  |             tx.commit();
  |         } catch (Exception e) {
  |             try {
  |                 tx.rollback();
  |             } catch (Exception e2) {
  |                 System.out.println(e2);
  |             }
  |             System.out.println(e);
  |         } finally {
  |             try {
  |                 if (session != null) {
  |                     //Why do I need to call flush here?
  |                     session.flush();
  |                     session.close();
  |                 }
  |             } catch (Exception e) {
  |                 System.out.println(e);
  |             }
  |         }

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961592#3961592

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961592



More information about the jboss-user mailing list