I see mappper code generated checks for each and every fields in UDT
if NULL saving strategy is DO_NOT_SET to null and if udt fileds value is null. It dosent set the value..
However Since it created new UdtValue() it accidentally ends up setting all null fields to null
Eg
I have UDT with below defination
UDT (a text,b text)
Table( col1 UDT ..... )
When Null saving strategy is DO_NOT _SET TO null ideally query should be generated like
update table set col1.a = 'aValue' if b is null
else
update table set col1.b = 'bvalue' if a is null
else
update table set col1.a = 'aValue', col1.b = 'bvalue' if b is nothing is null
However currently it ends up having
update table set col1=udtValue({})
Now if my table col1 status is
col1 = {a:"value1",b:"Value2"}
in such case if I update UDT with only value b.. it gets overwritten
Regards
Amol