/* Ċ Ġ* Ġ( C ) ĠCopyright Ġ 2 0 1 8 ĠL uk as ĠMor aw iet z Ġ( https :// github . com / F 4 3 nd 1 r ) Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . fa endir . ac ra . model Ċ Ċ import Ġcom . fa endir . ac ra . util . equals By Ċ import Ġorg . hibernate . annotations . On Delete Ċ import Ġorg . hibernate . annotations . On Delete Action Ċ import Ġorg . hibernate . annotations . Type Ċ import Ġjava . util .* Ċ import Ġjavax . persistence . Basic Ċ import Ġjavax . persistence . Cascade Type Ċ import Ġjavax . persistence . Entity Ċ import Ġjavax . persistence . Fetch Type Ċ import Ġjavax . persistence . GeneratedValue Ċ import Ġjavax . persistence . Generation Type Ċ import Ġjavax . persistence . Id Ċ import Ġjavax . persistence . ManyToOne Ċ Ċ /** Ċ Ġ* Ġ@ author Ġl uk as Ċ Ġ* Ġ@ since Ġ 2 6 . 0 7 . 1 8 Ċ Ġ*/ Ċ @ Entity Ċ class ĠVersion (@ On Delete ( action Ġ= ĠOn Delete Action . CASCADE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ ManyToOne ( cascade Ġ= Ġ[ Cascade Type . MERGE , ĠCascade Type . REFRESH ], Ġoptional Ġ= Ġfalse , Ġfetch Ġ= ĠFetch Type . LA ZY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp : ĠApp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġname : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Basic ( fetch Ġ= ĠFetch Type . LA ZY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Type ( type Ġ= Ġ" text ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmappings : ĠString ? Ġ= Ġnull ) Ġ: ĠComparable < Version > Ġ{ ĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) ĊĠĠĠ Ġprivate Ġval Ġid Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠVersion ): ĠInt Ġ= Ġcode . compareTo ( other . code ) ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= Ġequals By ( other , ĠVersion :: id ) ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= ĠObjects . hash ( id ) Ċ }