Guys, I have made a pull request.

https://github.com/apache/ignite/pull/931
<https://issues.apache.org/jira/browse/IGNITE-1192#>

New module spring-data was added.

The example of repository:

@RepositoryConfig(cacheName = "cache")
public interface FirstRepository extends IgniteRepository<Person, Integer> {
    /** */
    public List<Person> findByFirstName(String val);

    /** */
    public List<Person> findByFirstNameContaining(String val);

    /** */
    public List<Person> findByFirstNameRegex(String val, Pageable pageable);

    /** */
    public Collection<Person> findTopByFirstNameContaining(String val);

    /** */
    public Iterable<Person> findFirst10ByFirstNameLike(String val);

    /** */
    public int countByFirstNameLike(String val);

    /** */
    public int countByFirstNameLikeAndSecondNameLike(String like1,
String like2);

    /** */
    public int countByFirstNameStartingWithOrSecondNameStartingWith(String
like1, String like2);

    /** */
    public List<Cache.Entry<Integer, Person>> findBySecondNameLike(String val);

    /** */
    public Cache.Entry<Integer, Person> findTopBySecondNameLike(String val);

    /** */
    public Person findTopBySecondNameStartingWith(String val);

    /** */
    @Query("firstName = ?")
    public List<Person> simpleQuery(String val);

    /** */
    @Query("firstName REGEXP ?")
    public List<Person> queryWithSort(String val, Sort sort);

    /** */
    @Query("SELECT * FROM Person WHERE firstName REGEXP ?")
    public List<Person> queryWithPageable(String val, Pageable pageable);

    /** */
    @Query("SELECT secondName FROM Person WHERE firstName REGEXP ?")
    public List<String> selectField(String val, Pageable pageable);

    /** */
    @Query("SELECT _key, secondName FROM Person WHERE firstName REGEXP ?")
    public List<List> selectSeveralField(String val, Pageable pageable);

    /** */
    @Query("SELECT count(1) FROM (SELECT DISTINCT secondName FROM
Person WHERE firstName REGEXP ?)")
    public int countQuery(String val);
}


A user should extend IgniteRepository and provide cache name via
@RepositoryConfig.

IgniteRepository extends CrudRepository and deprecates unsupported
operation (without id).





On Tue, Aug 9, 2016 at 12:06 AM, Valentin Kulichenko <
valentin.kuliche...@gmail.com> wrote:

> Eduard,
>
> It's up to you :) I'm just saying that we should split the big task into
> smaller ones.
>
> -Val
>
> On Mon, Aug 8, 2016 at 3:57 AM, Eduard Shangareev <
> eduard.shangar...@gmail.com> wrote:
>
> > Hi, Valentin.
> > I am going to close these ticket with some prototype and create new ones
> > (maybe, with umbrella one).
> >
> > Will it work?
> >
> > On Sat, Aug 6, 2016 at 8:03 AM, Valentin Kulichenko <
> > valentin.kuliche...@gmail.com> wrote:
> >
> > > Hi Eduard,
> > >
> > > This is too much information :)
> > >
> > > I think you should create separate tickets for different aspects of
> > Spring
> > > Data integration and use IGNITE-1192 only as an umbrella, because
> > otherwise
> > > it will be flooded by comments. This will allow to implement this
> > > functionality step by step and track the progress better.
> > >
> > > Agree?
> > >
> > > -Val
> > >
> > > On Fri, Aug 5, 2016 at 4:17 AM, Eduard Shangareev <
> > > eduard.shangar...@gmail.com> wrote:
> > >
> > > > So there is no async support for query, therefore we can't support
> > > futures
> > > > as return type (paragraph 2).
> > > >
> > > > On Thu, Aug 4, 2016 at 6:08 PM, Eduard Shangareev <
> > > > eduard.shangar...@gmail.com> wrote:
> > > >
> > > > > I have looked at Querydsl and QbE and I think their support should
> be
> > > > > postponed.
> > > > >
> > > >
> > >
> >
>

Reply via email to