Class EntityManagerProvider

java.lang.Object
dev.voidframework.persistence.hibernate.module.EntityManagerProvider
All Implemented Interfaces:
com.google.inject.Provider<jakarta.persistence.EntityManager>, jakarta.inject.Provider<jakarta.persistence.EntityManager>

public class EntityManagerProvider extends Object implements com.google.inject.Provider<jakarta.persistence.EntityManager>
Entity manager provider. This provider is special, it exposes methods to manually manage the EntityManager to return when a user calls the method get(). These methods are used to handle transaction with the Transactional annotation interceptor.
Since:
1.0.0
  • Constructor Details

    • EntityManagerProvider

      public EntityManagerProvider(String dataSourceName, String modelsJarUrlPattern)
      Build a new instance.
      Parameters:
      dataSourceName - The data source name
      modelsJarUrlPattern - The pattern to identify JAR containing models
      Since:
      1.0.0
  • Method Details

    • setDataSourceManagerProvider

      @Inject public void setDataSourceManagerProvider(com.google.inject.Provider<DataSourceManager> dataSourceManagerProvider)
      Sets the data source manager provider.
      Parameters:
      dataSourceManagerProvider - The data source manager provider
      Since:
      1.0.0
    • get

      public jakarta.persistence.EntityManager get()
      Specified by:
      get in interface com.google.inject.Provider<jakarta.persistence.EntityManager>
      Specified by:
      get in interface jakarta.inject.Provider<jakarta.persistence.EntityManager>
    • initializeNewEntityFactoryManager

      public void initializeNewEntityFactoryManager()
      Initializes a new entity manager for the current Thread.
      Since:
      1.0.0
    • destroyLatestEntityManager

      public void destroyLatestEntityManager()
      Destroys the latest entity manager initialized for the current Thread.
      Since:
      1.0.0
    • isEntityManagerMustBeInitialized

      public boolean isEntityManagerMustBeInitialized()
      Checks if, at least, one entity manager is initialized for the current Thread.
      Returns:
      true at least one entity manager is initialized, otherwise, false
      Since:
      1.0.0