我只为整个progamm创建一个会话工厂,并且每次我想要持久化/更新/查询smth时创建。一个新的实体经理,但我总是遇到很多连接错误。任何人都可以给我一个adivce吗?在我看来,它不是增加MySql中允许连接数的最佳解决方案。我使用C3P0进行汇集。
答案 0 :(得分:1)
每次调用EntityManager
时,请尝试使用try-catch-finally模板。
EntityManager em = ... //However you get an em.
try {
em.getTransaction().begin();
// ... Put your persistence code here.
em.getTransaction().commit();
} catch (Exception ex) {
em.getTransaction().rollback();
throw ex;
} finally {
em.close();
}