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