| Interface | Description |
|---|---|
| BytesWrapper |
Bytes wrapper is used to store Java objects to BLOB or BYTEA databse column type.
|
| ColumnWrapper |
Wrapper for a MetaColumn
|
| ExtendedOrmUjo<UJO_IMPL extends Ujo> |
Extended ORM Ujo.
|
| InitializationBatch |
An inicializaton batch implementation can be called after building the ORM meta-model.
|
| ITypeService<J,D> |
A type service for popular Java types and more.
|
| OrmHandlerProvider |
OrmHandler Provider
|
| OrmUjo |
The OrmUjo is a basic interface of the persistent object in the ORM support.
|
| TableWrapper |
Wrapper for a MetaTable
|
| Class | Description |
|---|---|
| AbstractMetaModel |
Abstract Metamodel
|
| CriterionDecoder |
SQL Criterion Decoder.
|
| DbProcedure<UJO extends DbProcedure> |
Abstract database procedure.
|
| ForeignKey |
A Unique key of the entity OrmUjo
|
| JdbcStatement |
JdbcStatement
|
| OrmHandler |
The basic class for an ORM support.
|
| OrmKeyFactory<UJO extends OrmUjo> |
OrmFactory
|
| Query<UJO extends OrmUjo> |
ORM query.
|
| SeqTableModel |
Class to describe a sequence table model for an internal sequence database support
|
| Session |
The ORM session.
|
| SqlDialect |
SQL dialect abstract class.
|
| SqlDialectEx |
Extended SQL dialect class.
|
| SqlNameProvider |
SQL name provider
|
| SqlParameters |
The class for a special User parameters in the Native Query.
|
| Transaction |
Transaction manager.
|
| TypeService |
A type service for popular Java types and more.
|
| UjoSequencer |
The default sequence provider.
|
| Enum | Description |
|---|---|
| DbType |
Supported Database Types
|
UjoIterator is designed for a collection. The UjoIterator provides a toList() method howeverOrmUjo interface, namely on the OrmTable implementationKeyProperties however there is possible overwrite the mapping by annotations and the annotations can be overwrited by a XML files
OrmHandler.getInstance().loadDatabase(Database.class);
Order order = new Order();
order.setDate(new Date());
order.setDescr("John's order");
Item item1 = new Item();
item1.setOrder(order);
item1.setDescr("Yellow table");
Item item2 = new Item();
item2.setOrder(order);
item2.setDescr("Green window");
Session session = OrmHandler.getInstance().getSession();
session.save(order);
session.save(item1);
session.save(item2);
session.commit();
The next source code calls a SELECT by the UJO Criteria:
Criterion<Order> criter1 = Criterion.where(Order.DESCR, "John's order");
Criterion<Order> criter2 = Criterion.where(Order.DATE, Operator.LE, new Date());
Criterion<Order> criterion = criter1.and(criter2);
Session session = OrmHandler.getInstance().getSession();
UjoIterator<Order> orders = session.createQuery(criterion).iterate();
System.out.println("ORDER COUNT: " + orders.count()); // method calls SQL SELECT COUNT(*) in case the iterator can provide first item!
for (Order order : orders) {
String descr = order.getDescr();
System.out.println("ORDER ROW: " + order + " // descr: " + descr);
}
The next source code calls a SELECT by an UJO object relation:
Session session = OrmHandler.getInstance().getSession();
Database db = session.getDatabase();
UjoIterator<Order> orders = db.get(Database.ORDERS);
for (Order order : orders) {
String descr = order.getDescr();
System.out.println("Order: " + order + " // descr: " + descr);
for (Item item : order.getItems()) {
Long itemId = item.getId();
String itemDescr = item.getDescr();
System.out.println(" Item id: " + itemId + " descr: " + itemDescr);
}
}
Copyright 2013, Pavel Ponec