这段代码有什么问题?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");