package Ġcom . example . jp ae ager . entity Ċ Ċ import Ġjava . util . UUID Ċ import Ġjavax . persistence .* Ċ import Ġjavax . persistence . Fetch Type . E AGER Ċ import Ġjavax . persistence . Generation Type . IDENTITY Ċ Ċ @ Entity Ċ data Ġclass ĠCar ( ĊĊĠĠ Ġ@ Id ĊĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠIDENTITY ) ĊĠĠ Ġ@ Column ( nullable Ġ= Ġfalse , Ġcolumn Definition Ġ= Ġ" BIG INT ") ĊĠĠ Ġvar Ġid : ĠLong ? Ġ= Ġnull , ĊĊĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠ Ġvar Ġuuid : ĠString Ġ= ĠUUID . randomUUID (). toString (), ĊĊĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠ Ġvar Ġmake : ĠString ? Ġ= Ġnull , ĊĊĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠ Ġvar Ġmodel : ĠString ? Ġ= Ġnull , ĊĊĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠ Ġvar Ġyear : ĠInt ? Ġ= Ġnull , ĊĊĠĠ Ġ@ ManyToOne ( fetch Ġ= ĠE AGER ) ĊĠĠ Ġ@ JoinColumn ( name Ġ= Ġ" parent _ id ", Ġnullable Ġ= Ġfalse ) ĊĠĠ Ġvar Ġparent : ĠParent ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠ Ġreturn Ġif Ġ( other Ġis ĠCar ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġthis . uuid Ġ== Ġother . uuid ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠ Ġreturn Ġuuid . hashCode () ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" To y ( id =$ id , Ġuuid =$ uuid , Ġmake =$ model , Ġyear =$ year )" ĊĠĠ Ġ} Ċ } Ċ