Available from Maven Central: nz.co.gregs.dbvolution
Makes relational data easy and fast to use with semantic annotations and encapsulated datatypes.
Simple declaration of a DB table:
@DBTableName("mytable")
public class MyTable extends DBRow {
@DBColumn("numeric_code")
@DBForeignKey(Code.class)
private DBNumber numericCode = new DBNumber();
@DBColumn("uid_mytable")
@DBPrimaryKey
@DBAutoIncrement
private DBNumber uidMyTable = new DBNumber();
}
Easy Gets:
List<MyTable> myRows = myDB.get(new MyTable());
MyTable row = myDB.getDBTable(new MyTable()).getByPrimaryKey(61176904);
Natural and Outer Joins and Criteria:
CarCo carCo = new CarCo();
carCo.name.isLiterally("GM");
List<DBQueryRow> results = myDB.get(carCo, new Marque());
dbQuery.addOptional(new CarModel());
Easy debugging:
query.getSQLForQuery();
Simple processing:
db.print(query.getAllRows());
List<Marque> marques = query.getAllInstancesOf(new Marque());