2017-04-07 5 views
2

このコードで何が問題になっていますか? SQLコマンドは、show_sqlで完了しません。発行された最初のsqlコマンドが表示されていて、無期限にそこにぶら下がっています。プログラムは続行されません。Sqlコマンドが完了しない - コンソールハイバネートでハングアップする

あなたはhibernate.cfg.xmlファイルを設定する必要が
public class PersonDao { 
private Configuration configuration; 
private SessionFactory sessionFactory; 
private Session session; 

public PersonDao() { 
    configuration = new Configuration().configure(); 
    sessionFactory = configuration.buildSessionFactory(); 

} 

public Person addPerson(Person p) 
{ 
    Transaction transaction = null; 
    try 
    { 
     session = sessionFactory.openSession(); 
     transaction = session.beginTransaction(); 
     System.out.println("Before person add"); 
     session.save(p); 
     System.out.println("Person added"); 
     transaction.commit(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     session.flush(); 
     session.close(); 
    } 
    return p; 
} 

@SuppressWarnings("finally") 
public boolean deletePerson(long personId) 
{ 
    boolean issuccessful = false; 
    Transaction tx = null; 
    try { 
     session = sessionFactory.openSession(); 
     tx = session.beginTransaction(); 
     Object persistentInstance = session.load(Person.class, personId); 
     if (persistentInstance != null) { 
      ((Person)persistentInstance).getResponses().clear(); 
      ((Person)persistentInstance).getOwnedEvents().clear(); 
      session.delete(persistentInstance); 
     } 
     session.getTransaction().commit(); 
    } catch (Exception e) { 
     tx.rollback(); 
     issuccessful = false; 
     e.printStackTrace(); 
    } finally { 
     session.flush(); 
     session.close(); 
     return issuccessful; 
    } 
} 
+0

こんにちは、バックSQLPLUSで、私はいくつかのDMLを発行したため、これが起こった私は「コミット」を発行しなかった後にコマンド。したがって、アプリケーションはeclipse/hibernateでSQL文を発行することでハングアップしました。 – jrd

答えて

0

configuration=new Configuration(); 
    configuration.configure("hibernate.cfg.xml"); 
関連する問題