PK fields with primitive data types interpret '0' value as
'null' by default. But if we don't use primitive data types and read
an object with 0 as PK value and store such an object without
changes, nothing should happen.
Object with autoincrement 'true' and a NON primitive
data type for the PK field. It should be allowed to set an
new object with PK 0, because PK field is not primitive