Class Main

java.lang.Object
edu.wisc.game.sql.Main

public class Main extends Object
An object that is responsible for getting EntityManager object(s) for the application. Normally, an app would have just 1 instance of Main (Main.oneMain), because we work with just 1 database. Only applications that work with 2 (or more) databases, e.g. copying data between databases, would need additional instances of Main.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    This name will be used to configure the EntityManagerFactory based on the corresponding name in the META-INF/persistence.xml file
  • Constructor Summary

    Constructors
    Constructor
    Description
    Main(MainConfig _config)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.persistence.EntityManager
     
    javax.persistence.EntityManager
     
    void
     
    <T> void
     
    static javax.persistence.EntityManager
    Creates a new EntityManager from the EntityManagerFactory.
    static int
    Finds the process id of the UNIX process for this application.
    static javax.persistence.EntityManager
     
    static void
    Reports memory use
    static void
    memory(String title)
    Reports memory use
    static String
    memoryInfo(String title, boolean doGc)
     
    static void
    See also https://download.oracle.com/otn-pub/jcp/persistence-2_1-fr-eval-spec/JavaPersistence.pdf, which says (in "3.2.2 Persisting an Entity Instance"): If X is a new entity, it becomes managed.
    static <T> void
     
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • persistenceUnitName

      public static final String persistenceUnitName
      This name will be used to configure the EntityManagerFactory based on the corresponding name in the META-INF/persistence.xml file
      See Also:
  • Constructor Details

  • Method Details

    • getMyPid

      public static int getMyPid()
      Finds the process id of the UNIX process for this application. FIXME: This obviously is non-portable outside of UNIX.
      Returns:
      PID, or -1 on failure
    • getEM

      public static javax.persistence.EntityManager getEM()
      Creates a new EntityManager from the EntityManagerFactory.
    • doGetEM

      public javax.persistence.EntityManager doGetEM()
    • getNewEM

      public static javax.persistence.EntityManager getNewEM()
    • doGetNewEM

      public javax.persistence.EntityManager doGetNewEM()
    • memory

      public static void memory()
      Reports memory use
    • memory

      public static void memory(String title)
      Reports memory use
    • memoryInfo

      public static String memoryInfo(String title, boolean doGc)
    • persistObjects

      public static void persistObjects(Object... v)
      See also https://download.oracle.com/otn-pub/jcp/persistence-2_1-fr-eval-spec/JavaPersistence.pdf, which says (in "3.2.2 Persisting an Entity Instance"):
      • If X is a new entity, it becomes managed. The entity X will be entered into the database at or before transaction commit or as a result of the flush operation.
      • If X is a preexisting managed entity, it is ignored by the persist operation (...)
      • If X is a detached object, the EntityExistsException may be thrown when the persist operation is invoked, or the EntityExistsException or another PersistenceException may be thrown at flush or commit time
    • doPersistObjects

      public void doPersistObjects(Object... v)
    • saveObject

      public static <T> void saveObject(T o)
      Parameters:
      o - a detached object
    • doSaveObject

      public <T> void doSaveObject(T o)
    • toString

      public String toString()
      Overrides:
      toString in class Object