EntityManager在以下情况下获得新会话:
- 当应用程序启动时,通常会创建一个EntityManager实例来处理整个应用程序的持久化操作。这个EntityManager实例可以被视为一个会话,它会持续存在直到应用程序关闭。
- 当应用程序需要处理一个新的业务逻辑单元时,可以创建一个新的EntityManager实例。例如,当处理一个新的HTTP请求或一个新的用户交互时,可以创建一个新的EntityManager来处理与该请求或交互相关的持久化操作。在这种情况下,EntityManager的生命周期将与业务逻辑单元的生命周期相对应。
- 在某些情况下,可能需要在一个会话中使用多个EntityManager实例。例如,在并发环境下处理多个事务时,每个事务可以使用一个独立的EntityManager实例来确保数据的一致性和隔离性。
总之,EntityManager的获得取决于应用程序的需求和设计。它可以在应用程序启动时创建并持续存在,也可以根据业务逻辑的需要动态创建和销毁。