docs: @Override
      public List<Person> findByQuery(String query) {
          //@formatter:off
          String queryStr = '%' + query.toLowerCase() + '%';
          String jpaQuery = "select e from Person e "
                  + " where lower(e.firstname) like :query"
                  + " or lower(e.lastname) like :query"
                  + " or lower(e.address.city) like :query"
                  + " or lower(e.address.street) like :query"
                  + " or lower(e.address.postalCode) like :query";
  
          return entityManager
                  .createQuery(jpaQuery, Person.class)
                  .setParameter("query", queryStr)
                  .getResultList();
          //@formatter:on
      }