|
Ujorm release 1.22 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.ujorm.orm.Session
public class Session
The ORM session.
Methods of the session are not thread safe.
| Field Summary | |
|---|---|
static java.lang.String |
SQL_ILLEGAL
Exception SQL message prefix |
| Method Summary | ||
|---|---|---|
protected void |
call(DbProcedure procedure)
Call the stored procedure |
|
void |
clearCache()
Clear the cache. |
|
void |
clearCache(CachePolicy policy)
Clear cache and change its policy. |
|
void |
close()
Close and release all DB connections. |
|
void |
commit()
Make a commit for all databases. |
|
void |
commit(boolean commit)
Make commit/rollback for all 'production' databases. |
|
protected Criterion |
createPkCriterion(OrmUjo bo)
Returns an criterion by a PrimaryKey |
|
|
createQuery(java.lang.Class<UJO> aClass)
Create query for all rows. |
|
|
createQuery(java.lang.Class<UJO> aClass,
Criterion<UJO> criterion)
Create query. |
|
|
createQuery(Criterion<UJO> criterion)
The table class is derived from the first criterion column. |
|
|
delete(java.lang.Class<UJO> tableClass,
Criterion<UJO> criterion)
Delete all object object by the criterion from parameter. |
|
|
delete(Criterion<UJO> criterion)
Delete all object object by the criterion from parameter. |
|
protected
|
delete(MetaTable tableModel,
Criterion<UJO> criterion)
Delete all objects object form parameter Warning: method does not remove deleted object from internal cache, however you can call method clearCache() to release all objects from the cache. |
|
int |
delete(OrmUjo bo)
Delete one object from the parameters. |
|
OrmUjo |
findCache(java.lang.Class type,
java.lang.Object... pkeys)
Find object from internal cache |
|
OrmUjo |
findCache(java.lang.Class type,
java.lang.Object pkey)
Find object from internal cache |
|
MetaRelation2Many |
getBasicColumn(Criterion criterion)
Returns the first "basic" column of criterion. |
|
java.sql.Connection |
getConnection(int databaseIndex)
Get a Connection for a required databse by a database order number (index). |
|
java.sql.Connection |
getConnection(MetaDatabase database)
Get a Connection for a required database with an autocommit na false. |
|
|
getDatabase(java.lang.Class<DB> dbType)
Returns a Database instance. |
|
java.sql.Connection |
getFirstConnection()
Get the first Connection where an autocommit is set to false. |
|
|
getFirstDatabase()
Returns the first Database instance. |
|
OrmHandler |
getHandler()
Returns a handler |
|
protected java.util.List<MetaColumn> |
getOrmColumns(UjoProperty... properties)
Convert a property array to a column list. |
|
MetaParams |
getParameters()
Returns parameters |
|
|
getRowCount(Query<UJO> query)
Returns a count of rows |
|
JdbcStatement |
getStatement(MetaDatabase database,
java.lang.CharSequence sql)
Create new statement |
|
JdbcStatement |
getStatement(Query query)
Run SQL SELECT by query. |
|
JdbcStatement |
getStatementCallable(MetaDatabase database,
java.lang.String sql)
Create new statement |
|
boolean |
isClosed()
Is the session closed? |
|
boolean |
isRollbackOnly()
The rollback is allowed only |
|
|
iterateInternal(RelationToMany property,
OrmUjo value)
Iterate property of values |
|
|
load(java.lang.Class<UJO> tableType,
java.lang.Object id)
Load UJO by a unique id. |
|
|
loadInternal(UjoProperty relatedProperty,
java.lang.Object id,
boolean mandatory)
Load UJO by a unique id. |
|
void |
markForRolback()
|
|
static Session |
newClosedSession(OrmHandler handler)
Create the closed session |
|
ForeignKey |
readFK(OrmUjo ujo,
UjoProperty<?,? extends OrmUjo> property)
Build new Forign key. |
|
boolean |
reload(OrmUjo ujo)
Reload values of the persistent object. |
|
void |
rollback()
Make a rollback for all databases. |
|
void |
save(java.util.List<? extends OrmUjo> bos)
INSERT object into table using the Multirow inserts. |
|
void |
save(java.util.List<? extends OrmUjo> bos,
int multiLimit)
INSERT object into table using the Multirow inserts. |
|
void |
save(OrmUjo bo)
INSERT object into table. |
|
void |
saveOrUpdate(OrmUjo bo)
INSERT or UPDATE object into table. |
|
int |
update(OrmUjo bo)
Database UPDATE of the modified columns for the selected object. |
|
int |
update(OrmUjo bo,
Criterion criterion)
Database Batch UPDATE of the modified columns along a criterion. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String SQL_ILLEGAL
| Method Detail |
|---|
public final OrmHandler getHandler()
public void commit()
public void rollback()
public void commit(boolean commit)
commit - if parameters is false than make a rollback.public <UJO extends OrmUjo> Query<UJO> createQuery(java.lang.Class<UJO> aClass)
public <UJO extends OrmUjo> Query<UJO> createQuery(java.lang.Class<UJO> aClass,
Criterion<UJO> criterion)
public <UJO extends OrmUjo> Query<UJO> createQuery(Criterion<UJO> criterion)
public MetaRelation2Many getBasicColumn(Criterion criterion)
public final <DB extends OrmUjo> DB getFirstDatabase()
public <DB extends OrmUjo> DB getDatabase(java.lang.Class<DB> dbType)
public void saveOrUpdate(OrmUjo bo)
throws java.lang.IllegalStateException
java.lang.IllegalStateException
public void save(java.util.List<? extends OrmUjo> bos)
throws java.lang.IllegalStateException
multiLimit - Row limit for the one insert.
If the value will be out of range <1,bos.size()> than the value will be corrected.
If the list item count is greather than multi limit so insert will be separated by more multirow inserts.
java.lang.IllegalStateExceptionMetaParams.INSERT_MULTIROW_ITEM_LIMIT
public void save(java.util.List<? extends OrmUjo> bos,
int multiLimit)
throws java.lang.IllegalStateException
bos - List of the business object of the same class. If the list must not contain object of different typesmultiLimit - Row limit for the one insert.
If the value will be out of range <1,bos.size()> than the value will be corrected.
If the list item count is greather than multi limit so insert will be separated by more multirow inserts.
java.lang.IllegalStateException
public void save(OrmUjo bo)
throws java.lang.IllegalStateException
java.lang.IllegalStateException
public int update(OrmUjo bo)
throws java.lang.IllegalStateException
modified columns for the selected object.
java.lang.IllegalStateExceptionOrmUjo.readChangedProperties(boolean)
public int update(OrmUjo bo,
Criterion criterion)
modified columns along a criterion.
MetaParams.INHERITANCE_MODE for more information.
OrmUjo.readChangedProperties(boolean)public <UJO extends OrmUjo> int delete(Criterion<UJO> criterion)
MetaParams.INHERITANCE_MODE for more information.
criterion - filter for deleting tables.
public int delete(OrmUjo bo)
bo - Business object to delete
public <UJO extends OrmUjo> int delete(java.lang.Class<UJO> tableClass,
Criterion<UJO> criterion)
tableClass - Type of table to deletecriterion - filter for deleting tables.
protected <UJO extends OrmUjo> int delete(MetaTable tableModel,
Criterion<UJO> criterion)
tableModel - Type of table to deletecriterion - filter for deleting tables.
protected void call(DbProcedure procedure)
protected java.util.List<MetaColumn> getOrmColumns(UjoProperty... properties)
protected Criterion createPkCriterion(OrmUjo bo)
public <UJO extends OrmUjo> long getRowCount(Query<UJO> query)
public JdbcStatement getStatement(Query query)
public <UJO extends OrmUjo> UjoIterator<UJO> iterateInternal(RelationToMany property,
OrmUjo value)
property - Table property type of the RelationToMany.value - A value type of OrmUjo
public final java.sql.Connection getFirstConnection()
throws java.lang.IllegalStateException
databaseIndex - The first database have got the index value: 0 .
java.lang.IllegalStateException
public final java.sql.Connection getConnection(int databaseIndex)
throws java.lang.IllegalStateException
databaseIndex - The first database have got the index value: 0 .
java.lang.IllegalStateException
public final java.sql.Connection getConnection(MetaDatabase database)
throws java.lang.IllegalStateException
java.lang.IllegalStateException
public JdbcStatement getStatement(MetaDatabase database,
java.lang.CharSequence sql)
throws java.sql.SQLException
java.sql.SQLException
public JdbcStatement getStatementCallable(MetaDatabase database,
java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLException
public <UJO extends OrmUjo> UJO load(java.lang.Class<UJO> tableType,
java.lang.Object id)
throws java.util.NoSuchElementException
tableType - Type of Ujoid - Value ID
java.util.NoSuchElementException
public <UJO extends OrmUjo> UJO loadInternal(UjoProperty relatedProperty,
java.lang.Object id,
boolean mandatory)
throws java.util.NoSuchElementException
relatedProperty - Related propertyid - Valud IDmandatory - If result is mandatory then the method throws an exception if no object was found else returns null;
java.util.NoSuchElementException
public void close()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - The exception contains a bug from Connection close;public boolean isClosed()
public OrmUjo findCache(java.lang.Class type,
java.lang.Object pkey)
public OrmUjo findCache(java.lang.Class type,
java.lang.Object... pkeys)
public void clearCache()
public final void clearCache(CachePolicy policy)
public final MetaParams getParameters()
public boolean isRollbackOnly()
public void markForRolback()
public ForeignKey readFK(OrmUjo ujo,
UjoProperty<?,? extends OrmUjo> property)
throws java.lang.IllegalStateException
property - The property must be a relalation type of "many to one".
java.lang.IllegalStateException - If a parameter property is not a foreign key.public boolean reload(OrmUjo ujo)
ExtendedOrmUjo than foreign keys are reloaded
else a lazy initialization is loaded - for the first property depth.
ujo - The persistent object to relading values.
public static Session newClosedSession(OrmHandler handler)
|
Ujorm release 1.22 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||