public class MapSessionManager
extends it.unimi.dico.islab.idbs2.common.AbstractSessionManager
Class for Hibernate Session automatic management. This class offers only static methods,
usually protected
, for Hibernate session management which are used from other
classes of this package.
N.B.: All the operations executed through manager classes will be exectued referring to this class's internal session
Modifier and Type | Field and Description |
---|---|
static MappingManager |
m
MappingSetManager reference, used to manage MappingSet objects. |
static MappingSetManager |
msm
MappingSetManager reference, used to manage MappingSet objects. |
static RelationManager |
rm
RelationManager reference, used to manage Relation objects. |
Modifier and Type | Method and Description |
---|---|
static void |
beginTransaction()
Start a new transaction for the internal Session.
|
protected static void |
checkActiveTransaction()
Check if the internal session has an active transaction, otherwise creates automatically a new transaction
warning the user.
|
static void |
commitTransaction()
Commit the internal session active transaction.
|
static boolean |
createDb()
TODO: Scrivere guida!!
|
static Query |
executeQuery(String query)
Executes the HQL (Hibernate Query Language)
query given as input using the
internal session (requires an explicit call to beginTransaction() ). |
static void |
flushTransaction() |
protected static Session |
getInternalSession()
Getter for the internal Hibernate Session.
|
static SessionFactory |
getSessionFactory()
Returns an Hibernate Session Factory created for this cloud model.
|
static SessionFactory |
getSessionFactory(File confFile)
Same as
getSessionFactory() . |
static void |
rollbackTransaction()
Rollback the internal session's active transaction.
|
protected static void |
saveOrUpdate(Object obj)
Give persistence (on relational database) to an object mapped with Hibernate using the
internal
Session Factory of this class. |
public static MappingSetManager msm
MappingSetManager
reference, used to manage MappingSet
objects.public static MappingManager m
MappingSetManager
reference, used to manage MappingSet
objects.public static RelationManager rm
RelationManager
reference, used to manage Relation
objects.public static Query executeQuery(String query)
query
given as input using the
internal session (requires an explicit call to beginTransaction()
).query
- the HQL query to be executed. Only SELECT
queries are accepted.Object
s as result of the query or null
if no result has
been returned.protected static void saveOrUpdate(Object obj)
Give persistence (on relational database) to an object mapped with Hibernate using the
internal Session Factory
of this class.
obj
- The Hibernate mapped object to be persisted.protected static void checkActiveTransaction()
protected static Session getInternalSession()
Session
managed by this class.public static void beginTransaction()
public static void commitTransaction()
public static void rollbackTransaction()
beginTransaction
method.public static void flushTransaction()
public static SessionFactory getSessionFactory()
Returns an Hibernate Session Factory created for this cloud model. This Session Factory will be different
at any call of this method and is different from the internal Session Factory used by other methods
(e.g. saveOrUpdate and getMapping
).
This session factory is created using the config/mapDatabaseConfiguration.xml
file.
SessionFactory
public static SessionFactory getSessionFactory(File confFile)
getSessionFactory()
. Only difference is that the configuration file
the SessionFactory will be built upon is passed as argument. This method can be used to obtain new
SessionFactories for databases different from the standard one.confFile
- the configuration file in a standard xml Hibernate version.public static boolean createDb()
SQLException