com.isomorphic.hibernate

## Class HB

- java.lang.Object
- - com.isomorphic.hibernate.HB

-     public class HB
      extends java.lang.Object

  Singleton factory for hibernate `Session` and transaction with helper methods.

  Configuration is read from server.properties file. Value of property hibernate.provider specifies actual implementation. Methods hiding `Session` and transaction object initialization are used by `HibernateDataSource`:
  - `getEntityManager`
  - `returnEntityManager`
  - `getTransaction`
  - `commitTransaction`
  - `rollbackTransaction`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CONFIG_LOOKUP_STYLE` Name of sub property for hibernate configuration lookup style.
    `static java.lang.String` | `DEFAULT_HB_PROVIDER` Default Hibernate provider class name.
    `static java.lang.String` | `DEFAULT_SPRING_HB_PROVIDER` Default Spring Hibernate provider class name.
    `static java.lang.String` | `HB_PREFIX` Name of prefix for hibernate provider block.
    `static java.lang.String` | `HB_PROVIDER` Name of property for JPA EMF provider implementation.
    `static java.lang.String` | `LOOKUP_STYLE_SPRING` Lookup style value specifying Spring usage.
    `static java.lang.String` | `PROVIDER` Name of sub property for hibernate provider implementation.
    `static java.lang.String` | `TRANSACTION_ATTR` Attribute name for RPCManager.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `commitTransaction(java.lang.String configName, org.hibernate.Transaction tx)` Commits specified transaction.
    `static void` | `commitTransaction(org.hibernate.Transaction tx)` Commits specified transaction.
    `static org.hibernate.SessionFactory` | `get()` Returns `SessionFactory`.
    `static org.hibernate.SessionFactory` | `get(java.lang.String configName)` Returns `SessionFactory`.
    `static org.hibernate.Session` | `getSession()` Returns `Session` for persistence operations.
    `static org.hibernate.Session` | `getSession(java.lang.String configName)` Returns `Session` for persistence operations.
    `static org.hibernate.Transaction` | `getTransaction(org.hibernate.Session session)` Returns started transaction.
    `static org.hibernate.Transaction` | `getTransaction(java.lang.String configName, org.hibernate.Session session)` Returns started transaction.
    `static void` | `returnSession(org.hibernate.Session session)` Closes `Session`.
    `static void` | `returnSession(java.lang.String configName, org.hibernate.Session session)` Closes `Session`.
    `static void` | `rollbackTransaction(java.lang.String configName, org.hibernate.Transaction tx)` Rolls back specified transaction.
    `static void` | `rollbackTransaction(org.hibernate.Transaction tx)` Rolls back specified transaction.

- - ### Field Detail

    - #### HB_PREFIX

          public static final java.lang.String HB_PREFIX

      Name of prefix for hibernate provider block.
      See Also:
        Constant Field Values

    - #### PROVIDER

          public static final java.lang.String PROVIDER

      Name of sub property for hibernate provider implementation.
      See Also:
        Constant Field Values

    - #### CONFIG_LOOKUP_STYLE

          public static final java.lang.String CONFIG_LOOKUP_STYLE

      Name of sub property for hibernate configuration lookup style.
      See Also:
        Constant Field Values

    - #### LOOKUP_STYLE_SPRING

          public static final java.lang.String LOOKUP_STYLE_SPRING

      Lookup style value specifying Spring usage.
      See Also:
        Constant Field Values

    - #### DEFAULT_HB_PROVIDER

          public static final java.lang.String DEFAULT_HB_PROVIDER

      Default Hibernate provider class name. Will be used if provider is not specified in configuration.
      See Also:
        Constant Field Values

    - #### DEFAULT_SPRING_HB_PROVIDER

          public static final java.lang.String DEFAULT_SPRING_HB_PROVIDER

      Default Spring Hibernate provider class name. Will be used if provider is not specified in configuration and lookupStyle property is set to 'spring'.
      See Also:
        Constant Field Values

    - #### HB_PROVIDER

          public static final java.lang.String HB_PROVIDER

      Name of property for JPA EMF provider implementation.
      See Also:
        Constant Field Values

    - #### TRANSACTION_ATTR

          public static final java.lang.String TRANSACTION_ATTR

      Attribute name for RPCManager. Under this attribute current transaction is stored.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### get

          public static org.hibernate.SessionFactory get()

      Returns `SessionFactory`. Using default configuration.
      Returns:
        `SessionFactory` or null.

    - #### get

          public static org.hibernate.SessionFactory get(java.lang.String configName)

      Returns `SessionFactory`.
      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
      Returns:
        `SessionFactory` or null.

    - #### getSession

          public static org.hibernate.Session getSession()
                                                  throws org.hibernate.HibernateException

      Returns `Session` for persistence operations. Using default configuration.
      Returns:
        `Session` for persistence operations.
      Throws:
        `org.hibernate.HibernateException` - if unable to acquire `Session`.

    - #### getSession

          public static org.hibernate.Session getSession(java.lang.String configName)
                                                  throws org.hibernate.HibernateException

      Returns `Session` for persistence operations.

      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
      Returns:
        `Session` for persistence operations.
      Throws:
        `org.hibernate.HibernateException` - if unable to acquire `Session`.

    - #### returnSession

          public static void returnSession(org.hibernate.Session session)

      Closes `Session`. Using default configuration.
      Parameters:
        `session` - `Session` which should be closed.

    - #### returnSession

          public static void returnSession(java.lang.String configName,
                                           org.hibernate.Session session)

      Closes `Session`.
      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
        `session` - `Session` which should be closed.

    - #### getTransaction

          public static org.hibernate.Transaction getTransaction(org.hibernate.Session session)
                                                          throws org.hibernate.HibernateException

      Returns started transaction. Using default configuration.
      Parameters:
        `session` - `Session` needed if joining to existing transaction or starting transaction locally.
      Returns:
        `Transaction` Already started transaction for persistence operations.
      Throws:
        `org.hibernate.HibernateException` - if unable to acquire or open transaction.

    - #### getTransaction

          public static org.hibernate.Transaction getTransaction(java.lang.String configName,
                                                                 org.hibernate.Session session)
                                                          throws org.hibernate.HibernateException

      Returns started transaction.
      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
        `session` - `Session` needed if joining to existing transaction or starting transaction locally.
      Returns:
        `Transaction` Already started transaction for persistence operations.
      Throws:
        `org.hibernate.HibernateException` - if unable to acquire or open transaction.

    - #### commitTransaction

          public static void commitTransaction(org.hibernate.Transaction tx)
                                        throws org.hibernate.HibernateException

      Commits specified transaction. Using default configuration.
      Parameters:
        `tx` - `Transaction` transaction to be committed.
      Throws:
        `org.hibernate.HibernateException` - occurred while committing transaction.

    - #### commitTransaction

          public static void commitTransaction(java.lang.String configName,
                                               org.hibernate.Transaction tx)
                                        throws org.hibernate.HibernateException

      Commits specified transaction.
      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
        `tx` - `Transaction` transaction to be committed.
      Throws:
        `org.hibernate.HibernateException` - occurred while committing transaction.

    - #### rollbackTransaction

          public static void rollbackTransaction(org.hibernate.Transaction tx)

      Rolls back specified transaction. Using default configuration.
      Parameters:
        `tx` - `Transaction` transaction to be rolled back.

    - #### rollbackTransaction

          public static void rollbackTransaction(java.lang.String configName,
                                                 org.hibernate.Transaction tx)

      Rolls back specified transaction.
      Parameters:
        `configName` - `String` configuration name. Default provider is used if `null` or empty string is passed.
        `tx` - `Transaction` transaction to be rolled back.