When should EntityManagerFactory instance be created/opened?

后端 未结 1 697
灰色年华
灰色年华 2020-11-29 02:50

Ok, I read bunch of articles/examples how to write Entity Manager Factory in singleton.

One of them easiest for me to understand a bit:

http://javanotepad.bl

相关标签:
1条回答
  • 2020-11-29 03:33
    • EntityManagerFactory instances are heavyweight objects. Each factory might maintain a metadata cache, object state cache, EntityManager pool, connection pool, and more. If your application no longer needs an EntityManagerFactory, you should close it to free these resources.

    • When an EntityManagerFactory closes, all EntityManagers from that factory, and by extension all entities managed by those EntityManagers, become invalid.

    • It is much better to keep a factory open for a long period of time than to repeatedly create and close new factories. Thus, most applications will never close the factory, or only close it when the application is exiting.

    • Only applications that require multiple factories with different configurations have an obvious reason to create and close multiple EntityManagerFactory instances.

    • Only one EntityManagerFactory is permitted to be created for each deployed persistence unit configuration. Any number of EntityManager instances may be created from a given factory.

    • More than one entity manager factory instance may be available simultaneously in the JVM. Methods of the EntityManagerFactory interface are threadsafe.
    0 讨论(0)
提交回复
热议问题