1

我将 JPA 与 Eclipselink 和 Derby DB 一起使用。我想知道在启动进程时是否有一个选项可以提高性能,因为调用了以下代码。

factory = Persistence.createEntityManagerFactory(persistenceUnitName);

有延迟,进程被调用并在控制台中写入状态。

有没有办法省略这个过程并提高性能?

4

1 回答 1

1

创建 EntityManagerFactory 需要部署持久性单元。这是您在应用程序或服务器的生命周期内只应该做一次的事情。

由于它只执行一次,因此性能应该不是主要问题,除非您的应用程序架构不佳并且多次调用它。

提高性能的方法包括:

  • 使用静态编织,这会将编织处理移至您的构建代码,并将其从启动时间中删除。
  • 在您的 persistence.xml 中列出您的类并使用<exclude-unlisted-classes>true</exclude-unlisted-classes>,这样可以避免搜索整个 jar 类路径。
  • 确保您没有验证 orm.xml 模式,这可能会很昂贵。
于 2013-01-24T14:13:01.170 回答