Package org.ujorm.orm

The ORM support.

See:
          Description

Interface Summary
BytesWrapper Bytes wrapper is used to store Java objects to BLOB or BYTEA databse column type.
ColumnSet Deprecated. The interface implementations are not finished yet.
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 Summary
AbstractMetaModel Abstract Metamodel
AliasKey Relation from the one table to another including alias
CriterionDecoder SQL Criterion Decoder.
DbProcedure<UJO extends DbProcedure> Abstract database procedure.
ForeignKey A Unique key of the entity OrmUjo
JdbcStatement JdbcStatement
NativeDbSequencer Support for the native database sequences.
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 Summary
DbType Supported Database Types
 

Package org.ujorm.orm Description

The ORM support.

logo

ORM module of the Ujorm

am easy to use implementation of the object-relation mapping
Why a new ORM mapping? Some other features:

A sample of use

See how to create database and to how to INSERT an order with two items into database:
  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);
      }
  }
            

More sources:

License:



Copyright 2013, Pavel Ponec