package Ġmag ics quare . quart um backend . pers istance . entity Ċ Ċ import Ġmag ics quare . quart um backend . pers istance . enums . ER ole Ċ import Ġjavax . persistence .* Ċ Ċ /** Ċ Ġ* ĠRole Ġ- ĠÑĢ Ð¾Ð»ÑĮ ĠÐ¿Ð¾Ð»ÑĮÐ·Ð¾Ð²Ð°ÑĤ ÐµÐ»Ñı ĠÐ² ĠÑģÐ¸ÑģÑĤÐµÐ¼ Ðµ Ċ Ġ* Ċ Ġ* Ġ@ property Ġid Ċ Ġ* Ġ@ property Ġrole Name Ċ Ġ* Ġ@ property Ġusers Ċ Ġ*/ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" role ") Ċ open Ġclass ĠRole ( ĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) ĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" role _ id ", Ġnullable Ġ= Ġfalse ) ĊĠĠĠ Ġopen Ġvar Ġid : ĠInt ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ Column ( name Ġ= Ġ" role _ name ", Ġlength Ġ= Ġ 5 0 ) ĊĠĠĠ Ġ@ Enumer ated ( Enum Type . STRING ) ĊĠĠĠ Ġopen Ġvar Ġrole Name : ĠE Role ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ ManyToMany ( mapped By Ġ= Ġ" roles ") ĊĠĠĠ Ġopen Ġvar Ġusers : ĠMutable Set < User > Ġ= Ġmutable Set Of () Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠRole ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġother . id ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( role Name Ġ!= Ġother . role Name ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( users Ġ!= Ġother . users ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġid Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( role Name ?. hashCode () Ġ?: Ġ 0 ) Ċ // ĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġusers . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ