Greetings, guys.

So, the current implementation was found adequate for the first version.
But there are two issues which Semen found.

1) now cache name is bound to a repository at compile time, could you
please try to investigate if a more flexible binding is possible?
2) as I see now all spring-data integrations are hosted here -
https://github.com/spring-projects, Could you please investigated how
ignite integration can be added there?

First one, I don't see possibilities to provide cache names from Spring
configuration to repository factory (except system properties).
Second, I haven't found how to publish our spring-data implementation to
spring-projects repository.

I will continue the investigation.
But maybe someone already knows the answers.


On Tue, Aug 9, 2016 at 2:46 PM, Eduard Shangareev <
eduard.shangar...@gmail.com> wrote:

> 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