Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-13133

Add integration with QuerydslPredicateExecutor for spring-data integrations

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • None
    • None
    • springdata
    • None
    • Docs Required, Release Notes Required

    Description

      We have a pretty ignite-spring-data integration but we don't have a support of QuerydslPredicateExecutor which provide ability to filter cache entities by dynamic criterias.

      Example of usage:

      /**
      * Simple entity.
      */
      @QueryEntity
      public class Person {
          /** First name. */
          @QuerySqlField(index = true)
          private String firstName;
      
          /** Second name. */
          @QuerySqlField(index = true)
          private String secondName;
      
          /** Age. **/
          @QuerySqlField(index = true)
          private int age;
      }
      
      /**
      * Implement QuerydslPredicateExecutor interface.
      */
      public interface PersonRepository extends IgniteRepository<Person, Integer>, QuerydslPredicateExecutor<Person> {
      
      }
      
      /**
      * Now we can filter our entites by firstName prdicate.
      */
      List<Person> persons = (List<Person>) repo.findAll(
              QPerson.person.firstName.eq(firstName_1)
                  .or(QPerson.person.firstName.eq(firstName_2))
      );
      

      Attachments

        Issue Links

          Activity

            People

              smoldachev Moldachev Sergey
              smoldachev Moldachev Sergey
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m