0

我在我的项目中使用 jpa。但我必须调用所有方法并连接到数据库。我想用 entitymanagerfactory 和其他想要使用的方法连接一次数据库。我制作了静态 entitymanagerfactory 和 entitymanager,因此我接受了一个错误,即事务处于活动状态。

如何与jpa公开联系?

4

1 回答 1

1

我怀疑以后还会有其他问题,我建议您按照本教程学习如何制作 Java SE JPA 应用程序。此处更完整的基础教程非常关注 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给这些对象,这些对象将使用它与数据库进行交互。此外,您不限于只有一个跨越应用程序整个生命周期的大事务,您可以有几个连续的事务。

于 2012-10-20T11:49:40.543 回答