Easily migrate from Snowflake, Redshift, or Databricks with free tools.
BigQuery delivers 54% lower TCO with exabyte scale and flexible pricing. Free migration tools handle the SQL translation automatically.
Try Free
Stop vibe-debugging.
Plug Claude into your app's actual errors.
AppSignal's MCP server hands Claude, Cursor, or Zed your real errors, traces, and the deploy that shipped them. AI writes the fix; you review the diff.
Now stored at https://github.com/gregorydgraham/DBvolution
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.getAll
Reusable is a JPA ORM like Hibernate. But with focus on speed, speed, speed and development speed. Hibernate is like ANT - you can do everything. Reusable is like Maven - you cant do everything, but the development speed is greater.