Thank you for the answer! It helped.

I discovered two functions that can help in controlling the way ignite the
attributes onto table aliases.

QueryEntity.addQueryField("homeAddress.zip", "java.lang.String", "ha_zip")
would allow programmatically define the "homeAddress.zip" field in the table
and map it to "ha_zip" alias.

QueryEntity.setAliases(new HashMap<String, String>(){{put("homeAddress.zip",
"ha_zip");}}) would allow creating "ha_zip" alias for the field
"homeAddress.zip" that has already been defined.

CacheConfiguration.setIndexedTypes() is what I was trying to use before with
@QuerySqlField annotations on the object classes and that what did not work
for the field clashes.
It seems like a defect in the code when the filed name clashes are not being
resolved or even indicated.

The goal of all these is to be able to run a query on a simple model with
multiple nested objects (which could possibly clash on some attributes).
Yes, the RDBMS tables are flat, but Ignite is not RDBMS, but a K-V store
with SQL query capabilities. Ignite permits using complex object structures
as cache values and advertises a capability to query on those.

Again, thanks a lot for your help!




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to