Frequently Asked Questions
Everything you need to know about Picnic
Picnic supports PostgreSQL, MySQL, Oracle, and SQL Server out of the box. Each dialect is optimized for the specific database features and syntax.
Picnic translates DevExtreme and AG Grid filter expressions into optimized SQL WHERE clauses. It supports all standard operators including AND, OR, NOT, LIKE, IN, BETWEEN, and custom filter functions.
Yes! Picnic is designed to integrate seamlessly with Spring Boot. Simply add the dependency and configure your DataSource. We provide auto-configuration for common setups.
Picnic generates highly optimized SQL that pushes all filtering, sorting, and pagination to the database. This typically results in 30-60x performance improvements compared to in-memory processing.
Yes. Picnic supports DevExtreme charts and aggregated data use cases, making it ideal for dashboards, reporting and data visualization.
No! Picnic works with plain Java classes using convention-over-configuration. It automatically converts camelCase field names to snake_case column names. Annotations are only needed when you want to override default behavior.
Picnic translates skip/take parameters into efficient LIMIT/OFFSET clauses (or equivalent for your database). It also supports requireTotalCount to return the total number of matching rows for pagination UI.
Yes! Picnic fully supports JPA annotations (@Table, @Column, @Id, @Transient) from both jakarta.persistence and javax.persistence packages. You can use your existing entities without any modifications.
Picnic supports multi-level grouping with summary aggregations (sum, avg, count, min, max). It also supports group intervals for dates (year, quarter, month, day) and numeric ranges.
Absolutely. Picnic uses parameterized queries exclusively - all user input is passed as JDBC parameters, never concatenated into SQL strings. It also includes DoS protection with configurable limits on pagination, filter complexity, and query timeouts.