package Ġx . domain persistence modeling . other Ċ Ċ import Ġorg . springframework . data . annotation . Id Ċ import Ġorg . springframework . data . relational . core . mapping . Table Ċ import Ġx . domain persistence modeling . Up ser table Record Ċ Ċ @ Table (" other ") Ċ data Ġclass ĠOther Record ( ĊĠĠĠ Ġ@ Id Ġvar Ġid : ĠLong ?, ĊĠĠĠ Ġoverride Ġvar Ġnatural Id : ĠString , ĊĠĠĠ Ġoverride Ġvar Ġvalue : ĠString ?, ĊĠĠĠ Ġoverride Ġvar Ġversion : ĠInt Ċ ) Ġ: ĠMutable Other Simple Details , ĊĠĠĠ ĠUp ser table Record < Other Record > Ġ{ ĊĠĠĠ Ġinternal Ġconstructor ( natural Id : ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġthis ( null , Ġnatural Id , Ġnull , Ġ 0 ) ĊĊĠĠĠ Ġoverride Ġfun Ġupsert ed With ( upsert ed : ĠOther Record ): ĠOther Record Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġupsert ed . id ĊĠĠĠĠĠĠĠ Ġnatural Id Ġ= Ġupsert ed . natural Id ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġupsert ed . value ĊĠĠĠĠĠĠĠ Ġversion Ġ= Ġupsert ed . version ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ } Ċ