Muthu,

You can use binary representation instead of POJO classes [1]. I think it
can help you to avoid boilerplate code.

1.
https://apacheignite.readme.io/docs/binary-marshaller#binaryobject-cache-api

On Mon, Jun 5, 2017 at 10:18 PM, Muthu <muthu.kumara...@gmail.com> wrote:

> Our current application code uses this view in several places. We use
> MyBatis for ORM & it generates the DTO object & everything. The thought is
> if there is way to transparently use Ignite cache for the view instead of
> going to the database & let the rest of the application code use the same
> DTO object as generated by MyBatis.
>
> Regards,
> Muthu
>
> On Mon, Jun 5, 2017 at 12:10 PM, Muthu <muthu.kumara...@gmail.com> wrote:
>
>>
>> Thanks Nikolai for the suggestion..one other thing i was thinking was to
>> use continuous queries feature to create & update the new cache...but the
>> problem is i still have to manually construct the resultant DTO object
>> (manually set every field in the code). Since this is a view that joins two
>> or three tables with lots of columns i was wondering if there was a way i
>> can auto generate this boiler plate code...
>>
>> Regards,
>> Muthu
>>
>> On Mon, Jun 5, 2017 at 5:44 AM, Nikolai Tikhonov <ntikho...@apache.org>
>> wrote:
>>
>>> Hello,
>>>
>>> You need to implement your own CacheStore which will execute several
>>> selects for one entry and combine two rows to one cache entry.
>>>
>>> On Thu, Jun 1, 2017 at 9:34 AM, Muthu <muthu.kumara...@gmail.com> wrote:
>>>
>>>> Hello Folks,
>>>>
>>>> Just to add a little bit more clarity & context...taking the
>>>> Cross-Cache querying example from the ignite docs (copied below) if one
>>>> were to select fields from both Person & Organization table caches in the
>>>> select query what would be the elegant way to construct a domain POJO from
>>>> the query result set instead of constructing it in the application code.
>>>>
>>>>
>>>>    - Cross-Cache SqlFieldsQuery
>>>>    <https://apacheignite.readme.io/docs/sql-queries>
>>>>
>>>> // In this example, suppose Person objects are stored in a // cache named 
>>>> 'personCache' and Organization objects // are stored in a cache named 
>>>> 'orgCache'.IgniteCache<Long, Person> personCache = 
>>>> ignite.cache("personCache");
>>>> // Select with join between Person and Organization to // get the names of 
>>>> all the employees of a specific organization.SqlFieldsQuery sql = new 
>>>> SqlFieldsQuery(
>>>>     "select Person.name  "
>>>>         + "from Person as p, \"orgCache\".Organization as org where "
>>>>         + "p.orgId = org.id "
>>>>         + "and org.name = ?");
>>>> // Execute the query and obtain the query result cursor.try 
>>>> (QueryCursor<List<?>> cursor =  personCache.query(sql.setArgs("Ignite"))) {
>>>>     for (List<?> row : cursor)
>>>>         System.out.println("Person name=" + row.get(0));
>>>> }
>>>>
>>>>
>>>> Regards,
>>>> Muthu
>>>>
>>>> -- The latest fact in modern technology isn't that machines will begin
>>>> to think like people, but that people will begin to think like machines.
>>>> -- Nothing exists except atoms and empty space, everything else is
>>>> opinion - *Democritus*
>>>>
>>>> On Tue, May 30, 2017 at 4:26 PM, Muthu <muthu.kumara...@gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>> Just to clarify a little bit i don't want the view created on the
>>>>> database but rather created & exposed purely in ignite. The individual
>>>>> tables are already cached & available as L2 cache (MyBatis L2 cache) in
>>>>> Ignite.
>>>>>
>>>>> Regards,
>>>>> Muthu
>>>>>
>>>>>
>>>>> On Tue, May 30, 2017 at 4:07 PM, Muthu <muthu.kumara...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Folks,
>>>>>>
>>>>>> I need to combine two table caches to expose a database view type
>>>>>> cache. Is there an elegant way to do this where i don't need to manually
>>>>>> set/construct the view's POJO from the result of the join query?
>>>>>>
>>>>>> Regards,
>>>>>> Muthu
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to