Ok, then it makes sense. You cannot pass null into setIndexedTypes(). But if you don't put any @QuerySqlField annotation in value class or declare fields/indexes through Java API then no columns/indexes will be created in SQL storage.
On Mon, Jan 29, 2018 at 3:59 PM, Mikael <[email protected]> wrote: > Thanks, the reason I need SQL is that my key is not a primitive, it's a > class made of 2 int and one String and I need to query on parts of the key > and not the entire key, like select all keys where one of the integers is > equal to 55 for example. > > Mikael > > Den 2018-01-29 kl. 19:05, skrev Amir Akhmedov: > > Hi Mikael, > > 1. This is just a warning informing you that Ignite's object serialization > will differ from yours Externalizable implementation. By default Ignite > will serialize all fields in object and if you want to customize then you > need implement Binarylizable interface or set custom serializer as stated > in warning message. > Even if you did not specify any @QuerySqlField in your object Ignite > stores the whole serialized object in SQL table under _val field for > internal usage. > The open question is why do you need SQL if you are using only key based > search? You can make exactly the same using Java Cache API. > > 2. You can leave Externalizable implementation in the class, it won't hurt. > > 3. Please check bullet #1, if you don't want indexes then you don't need > create them. > > Thanks, > Amir > > > -- Sincerely Yours Amir Akhmedov
