Skip to content

Commit 4ba0e01

Browse files
Query By Example (QBE)
1 parent 0d4324d commit 4ba0e01

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

HibernateSpringBootExampleApi/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
**[How To Check If A Transient Entity Exists In The Database Via Spring Query By Example (QBE)](https://github.com/AnghelLeonard/Hibernate-SpringBoot/tree/master/HibernateSpringBootExampleApi)**
22

3-
**Description:** This application is an example of using Spring Data Query By Example (QBE) to check if a transient entity exists in the database. Consider the `Book` entity and a Spring controller that exposes an endpoint as: `public String checkBook(@Validated @ModelAttribute Book book, ...)`. Beside writting an explicit JPQL, we can rely on Spring Data Query Builder mechanism or, even better, on Query By Example (QBE) API. This is quite useful if the entity has a significant number of attributes and:
3+
**Description:** This application is an example of using Spring Data Query By Example (QBE) to check if a transient entity exists in the database. Consider the `Book` entity and a Spring controller that exposes an endpoint as: `public String checkBook(@Validated @ModelAttribute Book book, ...)`. Beside writting an explicit JPQL, we can rely on Spring Data Query Builder mechanism or, even better, on Query By Example (QBE) API. This API is quite useful if the entity has a significant number of attributes and:
44

5-
- we need a head-to-head comparison of each attribute value to the corresponding column value
6-
- we consider that a `Book` exists if at least one attribute value matches a column value
7-
- we want to compare only a subset of attributes
5+
- for all attributes, we need a head-to-head comparison of each attribute value to the corresponding column value
6+
- for a subset of attributes, we need a head-to-head comparison of each attribute value to the corresponding column value
7+
- for a subset of attributes, we return true at first match between an attribute value and the corresponding column value
8+
- any other scenario
89

910
**Key points:**
1011
- the repository, `BookRepository` extends `QueryByExampleExecutor`

0 commit comments

Comments
 (0)