FirstSQL, released as FirstSQL/J, is an Object-Relational Database Management System (ORDBMS) written fully in Java. It provides intermediate level support to the SQL92 standard and full Java object capabilities in the physical database using Java classes. SQL is the data access language and Java Database Connectivity (JDBC) is used as the client interface. In addition to the primitive data types, columns of the database can map to Java Objects. Moreover, stored procedures written in Java can be called by JDBC. Application developers can combine the their database and application code into a single .jar file and execute on any device, embedded system, or server computing platform with a Java Virtual Machine.
The development of FirstSQL/J started in 2001. The first publicly available version, FirstSQL/J v1.0, was released in February 2002. The initial release came in two versions: the Enterprise version to be used by servers and the professional version to be used by single desktop clients. FirstSQL/J has since been undergoing continuous development and support. In addition to the original Enterprise and Professional versions,, versions to be used for embedded systems and Android devices were released in October 2005 and October 2015, respectively.
Stored Procedures need to be written in Java. They can be called directly using SQL commands or by other Java code in the client application.
Main Memory mode and conventional Disk mode are supported.
The supported SQL foreign key features are cascaded Update and Delete, Self-referencing and Cross-referencing.
Columns can map to Java Objects. Java classes, methods, and inheritance are fully supported in the physical database. They can be managed using JDBC client APIs and accessed using SQL.