Skip to content

Bloviate

Auto-discovers your schema, respects foreign keys, and fills tables (or CSV/TSV files) with realistic, reproducible data. It never touches production data, is deterministic by seed, and runs inside your JUnit / Testcontainers pipeline.

Zero-config foreign keys

Auto-introspects DatabaseMetaData, builds the FK dependency graph, and topologically orders the fill — parents before children, no configuration.

Privacy-safe by construction

Generated purely from schema and type. Production data is never read, so the GDPR/CCPA exposure surface is structurally minimal.

Deterministic by seed

The same seed and schema produce byte-identical data on every run — even under parallel and partitioned fills.

CI-native, dependency-free core

No cloud account, no Python/GPU runtime, no per-row pricing — just a library on your classpath, with first-class JUnit 5 and Testcontainers integrations.

Multi-database

PostgreSQL, MySQL, and CockroachDB today, with an extensible architecture for more — actively maintained and released.

Flat files too

Export generated data to CSV, TSV, and pipe-delimited files with full control over every column.

Generate from your schema, not from a copy of production

Section titled “Generate from your schema, not from a copy of production”

Bloviate is an open-source, JDBC-native filler — it manufactures relational data from a schema. That’s a different job from the ML/privacy synthesizers (which learn from real data and are non-deterministic) and from masking/subsetting tools (which operate on existing production data). Among its peers, Bloviate is the maintained, deterministic, auto-FK option.

Realistic semantic values (emails, names, addresses), correlated columns, and CHECK/enum conformance are all supported — as opt-in features layered on the fast, type-driven default rather than replacing it.

Get started in five minutes →

How Bloviate actually works, and how fast it runs — the deep technical material behind the library.

The complete Javadoc for every public package is hosted right here — themed to match these docs, with its own per-class search.