Guys, Let’s suppose there is a cache that stores entries like that:
* key - int * value - custom object which fields are annotated by @QuerySqlField Before 2.0 if I wanted to refer to the key in an SQL query I had to use “_key” keyword. In 2.0 this is no longer the requirement. Any name can be used in the condition it’s set via QueryEntity.setKeyFieldName(keyName). This concept works perfectly fine if both key's and value's types are configured using QueryEntities directly. But what can I do if the value is annotated with @QuerySqlField as in the example above and passed to SQL engine via CacheConfiguration.setIndexedTypes(…) method? How can I set QueryEntity.setKeyFieldName()? Looks like the only workable way is this one: - register key and value types via CacheConfiguration.setIndexedTypes(…) - find the QueryEntity corresponding to the just registered types in a collection of CacheConfiguration.getQueryEntities() - call QueryEntity.setKeyFieldName(keyName) for the entity of interest. Basically, this is a workaround but not a user friendly approach. Is there any other way to achieve this? In the meanwhile, what if we add QueryEntity(Class keyType, Class valueType) that will do totally the same things that CacheConfiguration.setIndexedTypes(…) with the only difference that right after that the user will be able to call QueryEntity.setKeyFieldName(keyName)? — Denis