John,

It's not necessary to have class at all, you can specify any type, you just
need to use this type when creating binary object for this key.

вт, 14 июл. 2020 г. в 17:50, John Smith <[email protected]>:

> I just used two columns as primary key...
>
> Of I use key_type and specify a type does that class need to exist in the
> class path of the server nodes?
>
> Like if I have
>
> class MyKeyClass {
>    Integer col1;
>    Integer col2;
> }
>
> Does this class need to be loaded in all nodes or ignite can figure it out
> and marshal it?
>
> On Tue., Jul. 14, 2020, 6:50 p.m. Evgenii Zhuravlev, <
> [email protected]> wrote:
>
>> Hi John,
>>
>> To do this, you need to create a key object with the same type as you
>> have for the table. If you don't specify KEY_TYPE in the create table
>> script, it will be generated automatically. I would recommend to specify it
>> for the command(just type name, if you don't have a class) and, when you
>> need to get data using key-value API, just create a binary object of this
>> type with these fields:
>> https://www.gridgain.com/docs/latest/developers-guide/key-value-api/binary-objects#creating-and-modifying-binary-objects
>>
>> Evgenii
>>
>> вт, 14 июл. 2020 г. в 07:18, John Smith <[email protected]>:
>>
>>> Hi, I have an SQL table
>>>
>>> create table if not exists my_table (
>>> column1 int,
>>> column2 int,
>>> column3 varchar(16),
>>> PRIMARY KEY (column1, column2)
>>> ) with "template=replicatedTpl";
>>>
>>> and I'm creating my near cache as follows...
>>>
>>> IgniteCache<Integer, String> myCache;
>>>
>>> NearCacheConfiguration<Integer, String> nearConfig = new
>>> NearCacheConfiguration<>();
>>> nearConfig.setNearEvictionPolicyFactory(new
>>> LruEvictionPolicyFactory<>(1024));
>>>
>>> myCache =
>>> this.ignite.getOrCreateNearCache(SQL_PUBLIC_MY_TABLE, nearConfig)
>>> .withExpiryPolicy(new AccessedExpiryPolicy(new Duration(TimeUnit.HOURS,
>>> 1)));
>>>
>>> So if I use myCache.get()...
>>>
>>> 1- How do I specify the primary key if it's 2 columns?
>>> 2- I assume the data will be put in near cache?
>>>
>>>
>>>
>>>
>>>

Reply via email to