Skip to content

Column Filters ​

Squizy provides per-column filtering for every entity table. Filters are type-aware and can be combined to create complex queries.

How It Works ​

Each column in the entity table can be filtered individually. The available filter operators depend on the field type:

String Fields ​

OperatorDescription
LIKEContains the value (case-insensitive)
EQExact match
NENot equal

Numeric Fields ​

OperatorDescription
EQEquals
NENot equals
GTGreater than
GEGreater than or equal
LTLess than
LELess than or equal

Enum Fields ​

OperatorDescription
EQEquals selected value
NENot equal to selected value
INIn list of selected values

Relationship Fields ​

OperatorDescription
EQMatches the selected related entity
INMatches any of the selected related entities

Date/Time Fields ​

OperatorDescription
EQExact date match
GTAfter date
GEOn or after date
LTBefore date
LEOn or before date

Combining Filters ​

Multiple column filters are combined with AND logic — all filters must match for a record to be included in the results.

Programmatic Filtering ​

Filters can be applied programmatically via the query API:

http
POST /api/product/query
Content-Type: application/json

{
  "queryCriteriaList": [
    {
      "key": "status",
      "value": "IN_STOCK",
      "operation": "EQ"
    },
    {
      "key": "price",
      "value": "100",
      "operation": "GE"
    }
  ]
}

Controlling Filterability ​

Use @SquizyField to control whether a field appears in filter options:

java
@SquizyField(filterable = FilterableMode.NOT_FILTERABLE)
@OneToMany
private List<Account> accounts;

Values: DEFAULT (framework decides), FILTERABLE, NOT_FILTERABLE.