SQL 命令未完成 - 在控制台中挂起 - 休眠



这段代码有什么问题?SQL命令没有完成,show_sql,我能够看到发出的第一个sql命令,然后它无限期地挂在那里 - 程序没有继续。

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;
    }
}

您需要配置休眠.cfg.xml文件

    configuration=new Configuration();
    configuration.configure("hibernate.cfg.xml");

最新更新