@@ -10,6 +10,10 @@ Query by Example (QBE) is a user-friendly querying technique with a simple inter
1010It allows dynamic query creation and does not require you to write queries that contain field names.
1111In fact, Query by Example does not require you to write queries by using store-specific query languages at all.
1212
13+ NOTE: This chapter explains the core concepts of Query by Example.
14+ The information is pulled from the Spring Data Commons module.
15+ Depending on your database, String matching support can be limited.
16+
1317[[query-by-example.usage]]
1418== Usage
1519
@@ -21,18 +25,20 @@ It can be reused across multiple Examples.
2125* `Example`: An `Example` consists of the probe and the `ExampleMatcher`.
2226It is used to create the query.
2327* `FetchableFluentQuery`: A `FetchableFluentQuery` offers a fluent API, that allows further customization of a query derived from an `Example`.
24- Using the fluent API lets you to specify ordering projection and result processing for your query.
28+ Using the fluent API lets you specify ordering projection and result processing for your query.
2529
2630Query by Example is well suited for several use cases:
2731
2832* Querying your data store with a set of static or dynamic constraints.
2933* Frequent refactoring of the domain objects without worrying about breaking existing queries.
30- * Working independently from the underlying data store API.
34+ * Working independently of the underlying data store API.
3135
3236Query by Example also has several limitations:
3337
3438* No support for nested or grouped property constraints, such as `firstname = ?0 or (firstname = ?1 and lastname = ?2)`.
35- * Only supports starts/contains/ends/regex matching for strings and exact matching for other property types.
39+ * Store-specific support on string matching.
40+ Depending on your databases, String matching can support starts/contains/ends/regex for strings.
41+ * Exact matching for other property types.
3642
3743Before getting started with Query by Example, you need to have a domain object.
3844To get started, create an interface for your repository, as shown in the following example:
0 commit comments