Hi, Thank you for your email Thanks and Regards Charlin
On Wed, 24 Apr, 2024, 4:42 pm Pavel Tupitsyn, <ptupit...@apache.org> wrote: > Same thing. Fields get flattened for SQL, so you've got one column from > Employee and another from EmpInfo causing a conflict. > > On Wed, Apr 24, 2024 at 2:06 PM Charlin S <charli...@hotelhub.com> wrote: > >> Hi, >> Thank you for the email. >> What about EmpInfo? Main class and child class having EmpName field >> (error 1) >> >> Thanks and Regards, >> Charlin >> >> >> On Wed, 24 Apr, 2024, 4:25 pm Pavel Tupitsyn, <ptupit...@apache.org> >> wrote: >> >>> Employee class has two fields with the same name: >>> >>> [QuerySqlField] >>> public string EMPCode { get; set; } >>> >>> [QuerySqlField] >>> public string EmpCode { get; set; } >>> >>> >>> Ignite 2.10 ignored this and used only one of those for SQL, which may >>> lead to subtle bugs. So we added this validation. >>> >>> You'll have to rename one of the fields, or override SQL field name in >>> the attribute: >>> [QuerySqlField(Name = "EMPCode2")] >>> >>> On Wed, Apr 24, 2024 at 10:01 AM Charlin S <charli...@hotelhub.com> >>> wrote: >>> >>>> Hi All, >>>> I am upgrading Ignite from 2.10 to 2.16 and getting Multiple query >>>> fields are associated with the same alias error for *EMPCode* and *EmpName, >>>> *which is working with Ignite 2.10. unable to create Employee cache. >>>> >>>> Error 1: >>>> System.Exception: IgniteException for chache :: Employee >>>> ---> Apache.Ignite.Core.Cache.CacheException: class >>>> org.apache.ignite.IgniteCheckedException: Multiple query fields are >>>> associated with the same alias [alias=EMPNAME] >>>> >>>> Error 2: >>>> System.Exception: IgniteException for chache :: Employee >>>> ---> Apache.Ignite.Core.Cache.CacheException: class >>>> org.apache.ignite.IgniteCheckedException: Multiple query fields are >>>> associated with the same alias [alias=EMPCODE] >>>> >>>> Error 2 can be corrected by removing TmcCode property but why same >>>> error for EmpName? >>>> >>>> my class file >>>> Public class Employee: IBinarizable >>>> { >>>> [QuerySqlField] >>>> public string EMPCode { get; set; } >>>> [QuerySqlField] >>>> public string EmpCode { get; set; } >>>> [QuerySqlField] >>>> public string EmpName { get; set; } >>>> [QuerySqlField] >>>> public EmpInfo EmpInformation { get; set; } >>>> >>>> public void WriteBinary(IBinaryWriter writer) >>>> { >>>> if (writer != null) >>>> { >>>> writer.WriteString("empcode", EMPCode); >>>> writer.WriteString("empname", EmpName ); >>>> writer.WriteObject(" empInformation", EmpInformation >>>> ); >>>> } >>>> } >>>> public void ReadBinary(IBinaryReader reader) >>>> { >>>> if (reader != null) >>>> { >>>> EMPCode = reader.ReadString("empcode"); >>>> EmpName = reader.ReadString("empname"); >>>> EmpInformation = reader.ReadString(" >>>> empInformation"); >>>> } >>>> } >>>> } >>>> >>>> public class EmpInfo : IBinarizable >>>> { >>>> [QuerySqlField] >>>> public string EmpName { get; set; } >>>> [QuerySqlField] >>>> public string EmpAddress{ get; set; } >>>> >>>> public void WriteBinary(IBinaryWriter writer) >>>> { >>>> if (writer != null) >>>> { >>>> writer.WriteString(" empname ", EmpName ); >>>> writer.WriteString(" empaddress ", EmpAddress ); >>>> } >>>> } >>>> public void ReadBinary(IBinaryReader reader) >>>> { >>>> if (reader != null) >>>> { >>>> EmpName = reader.ReadString(" empname "); >>>> EmpAddress = reader.ReadString(" empaddress "); >>>> } >>>> } >>>> } >>>> >>>> Thanks & Regards, >>>> Charlin >>>> >>>> >>>>