public class KCSessionManager extends Object
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 |
---|---|
protected static boolean |
AUTO_DATABASE_COHERENCE |
static DocumentManager |
dm
DocumentManager reference, used to manage Document objects. |
static KCManager |
kcm
KCManager reference, used to manage KnowledgeChunk objects. |
static PredicateManager |
pm
PredicateManager reference, used to manage Predicate objects. |
static TermManager |
tm
TermManager reference, used to manage Term objects. |
static TypeManager |
tym
TypeManager reference, used to manage Type 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 |
getAutoDatabaseCoherence() |
protected static Session |
getInternalSession() |
static SessionFactory |
getSessionFactory()
Returns an Hibernate Session Factory created for this kc model.
|
static SessionFactory |
getSessionFactory(File conf)
Same as
getSessionFactory() . |
protected static void |
saveOrUpdateObject(Object obj)
Give persistence (on relational database) to an object mapped with Hibernate using the
internal
Session Factory of this class. |
void |
setAutoDatabaseCoherence(boolean active)
Activate/deactivate the database coherence system; this system could be useful when adding new
KCs to and existing and already filled database.
|
public static KCManager kcm
KCManager
reference, used to manage KnowledgeChunk
objects.public static DocumentManager dm
DocumentManager
reference, used to manage Document
objects.public static TypeManager tym
TypeManager
reference, used to manage Type
objects.public static TermManager tm
TermManager
reference, used to manage Term
objects.public static PredicateManager pm
PredicateManager
reference, used to manage Predicate
objects.protected static boolean AUTO_DATABASE_COHERENCE
protected static void saveOrUpdateObject(Object obj)
Give persistence (on relational database) to an object mapped with Hibernate using the
internal Session Factory
of this class.
This method is defined only in this class (as it is the main class of this package) and is called by every
saveOrUpdate
method of other classes of this package.
obj
- The Hibernate mapped object to be persisted.protected static void checkActiveTransaction()
public static void beginTransaction()
public static void commitTransaction()
public static SessionFactory getSessionFactory()
Returns an Hibernate Session Factory created for this kc 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 getKnowledgeChunkById
).
This session factory is created using the config/kcDatabaseConfiguration.xml
file.
SessionFactory
public static SessionFactory getSessionFactory(File conf)
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.conf
- the configuration file in a standard xml Hibernate version.public void setAutoDatabaseCoherence(boolean active)
Activate/deactivate the database coherence system; this system could be useful when adding new
KCs to and existing and already filled database. When activated the behavior of the
addType
, addTerm
, and addDocument
methods are changed.
For better understanding we present the following example based on the addType
method:
public static Boolean getAutoDatabaseCoherence()
for better explanation.
protected static Session getInternalSession()