Evgenii,
It also came to me if there is a similar code in C++ for the following java
code as I did not find it. If not, Does it mean I need to configure it in
xml file?

 IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
        BinaryConfiguration bCfg = new BinaryConfiguration();
        bCfg.setCompactFooter(false);
        bCfg.setNameMapper(new BinaryBasicNameMapper(true));
        bCfg.setIdMapper(new BinaryBasicIdMapper(true));

bCfg.setClassNames(Collections.singleton("org.apache.ignite.examples.datagrid.CrossClass"));
        igniteConfiguration.setBinaryConfiguration(bCfg);

Thank you !

On Mon, Apr 13, 2020 at 1:57 PM Evgenii Zhuravlev <e.zhuravlev...@gmail.com>
wrote:

> Anthony,
>
> No, I don't think so. If you plan to use it from C++, then you will need
> to configure QueryEntity.
>
> Evgenii
>
> пн, 13 апр. 2020 г. в 13:02, Anthony <harter...@gmail.com>:
>
>> Thank you Evgenii ! BTW, Is there a same thing in c++ ?
>>
>> On Mon, Apr 13, 2020 at 9:30 AM Evgenii Zhuravlev <
>> e.zhuravlev...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> There is no need to create Query Entity if you already have annotations.
>>> YOu can add CacheConfiguration.setIndexedTypes(PersonKey.class,
>>> Person.class) and it will be generated automatically based on you
>>> annotations.
>>>
>>> Evgenii
>>>
>>> пн, 13 апр. 2020 г. в 09:11, Anthony <harter...@gmail.com>:
>>>
>>>> Hello,
>>>> If I have the following java class:
>>>>
>>>> public class Person implements Serializable {
>>>>     /** */
>>>>     private static final AtomicLong ID_GEN = new AtomicLong();
>>>>
>>>>     /** Person ID (indexed). */
>>>>     @QuerySqlField(index = true)
>>>>     public Long id;
>>>>
>>>>     /** Organization ID (indexed). */
>>>>     @QuerySqlField(index = true)
>>>>     public Long orgId;
>>>>
>>>>     /** First name (not-indexed). */
>>>>     @QuerySqlField
>>>>     public String firstName;
>>>>
>>>>     /** Last name (not indexed). */
>>>>     @QuerySqlField
>>>>     public String lastName;
>>>>
>>>>     /** Resume text (create LUCENE-based TEXT index for this field). */
>>>>     @QueryTextField
>>>>     public String resume;
>>>>
>>>>     /** Salary (indexed). */
>>>>     @QuerySqlField(index = true)
>>>>     public double salary;
>>>>
>>>>     /** Custom cache key to guarantee that person is always collocated
>>>> with its organization. */
>>>>     private transient AffinityKey<Long> key;
>>>>
>>>>
>>>>    And I want to create a table, I need to write  the following code in
>>>> java or put them in the config file. Is it possible to generate them
>>>> automatically? As Java reflection seems can handle this?
>>>>
>>>> CacheConfiguration cacheCfg = new CacheConfiguration("Person");
>>>> QueryEntity entity = new QueryEntity();
>>>> entity.setKeyType("java.lang.Long");
>>>> entity.setValueType("Person");
>>>> LinkedHashMap<String,String> map = new LinkedHashMap<String, String>();
>>>> map.put("orgId", "java.lang.Long");
>>>> map.put("firstName", "java.lang.String");
>>>> map.put("lastName", "java.lang.String");
>>>> map.put("Resume", "java.lang.String");
>>>> map.put("Salary", "java.lang.double");
>>>> entity.setFields(map);
>>>> entity.setIndexes(Collections.singletonList(new QueryIndex("orgId")));
>>>> List<QueryEntity> queryEntities = new ArrayList<>();
>>>> queryEntities.add(entity);
>>>> cacheCfg.setQueryEntities(queryEntities);
>>>> igniteConfiguration.setCacheConfiguration(cacheCfg);
>>>> Ignite ignite = Ignition.start(igniteConfiguration);
>>>> IgniteCache cache = ignite.getOrCreateCache("Person");
>>>>
>>>>

Reply via email to