JPA EntityManagerFactory

时间:2012-10-20 11:21:16

标签: jpa hibernate-entitymanager

我在我的项目中使用jpa。但我必须调用所有方法并连接到数据库。我想连接一次数据库与entitymanagerfactory和其他想要使用的方法。我做了静态entitymanagerfactory和entitymanager因此ı采取交易活跃的错误。

如何与jpa进行公共连接?

1 个答案:

答案 0 :(得分:1)

由于我怀疑稍后会出现其他问题,我建议您按照this tutorial说明如何制作Java SE JPA应用程序。更完整的基础教程here非常关注Sun自己的工具集和组件,但基础知识和示例代码可能对您有所帮助。

无论如何,开始看起来像这样:

public static void main(String[] args) {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistenceUnitName");
    EntityManager em = emf.createEntityManager();

    // let's start a transaction, everything we do from here on can be either
    // committed or rolled back, ensuring the integrity of our data
    em.getTransaction().begin();
    // update the database here


    // okay, done
    em.getTransaction().commit();

    // and housekeeping, close em an emf
    em.close();
    emf.close();

}

正如你所看到的,em和emf都不是静态的。如果您(如您所愿)在对象中细分项目,则可以将em传递给将使用它与数据库交互的这些对象。此外,您不仅限于只有一个跨越应用程序整个生命周期的大事务,您可以连续几个。