Pure Java Object-Relational Database Database Management System
  • Pure Java
  • JDBC
  • SQL 89/92
  • Single file
  • Transactions
  • Easy to use
  • Very fast





Consus is a 100% pure Java embedded object-relational database management system. It provides the JDBC interface and SQL-92 compatible query language JSQL. In addition to the standard JDBC methods, Consus also provides the following object oriented extensions:
  • Implicit database tables definition using information about Java classes.
  • Direct mapping between table and Java classes. Table inheritance.
  • Polymorphic queries (select among all derived subtables) and polymorphic (virtual) method invocations.
  • Direct access to the records by references.
  • Database tables can contain any Java object or array as a record field.
  • Any built-in Java type can be used as a record attribute.
  • Construction - start from following by performs recursive records traversal using references.
  • Binary large objects (BLOBs) and character large objects (CLOBs) with Java stream interface are supported.
  • Automatic database scheme evaluation.
  • Persistent object storage interface: persistence by reachability and transparent loading of objects from the database.

JSQL is a non-procedural query language provided by Consus. It implements almost all of the features of SQL-89 standard. It is described more in depth in the following section. The most convenient and efficient way of extracting data from Consus database is to use objects instead of tuples. It leads to a more transparent interface with the Java programming language. The result of a query execution is set of Java objects and the programmer should not worry about packing/unpacking record fields (but Consus does provide the standard JDBC methods for fetching/storing record fields values without using the object-oriented interface). To select objects instead of tuples just skip the columns list in the SQL statement (or use '*' character). In this case Consus will extract the data from the database as objects (it's still possible to access fields of the object using the standard JDBC ResultSet methods).

Back to my home page | Send me a mail