// ĠCopyright Ġ 2 0 2 0 ĠF elix ĠBur k , ĠTim ĠN ieder haus en Ċ // Ċ // Ġ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 Ġorg . plan qk . cook smart . model Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġjavax . persistence .* Ċ import Ġjavax . validation . constraints . NotBlank Ċ import Ġjavax . validation . constraints . NotNull Ċ Ċ @ Entity Ċ @ Named Entity Graphs ( ĊĠĠĠĠĠĠĠ ĠNamed Entity Graph ( name Ġ= Ġ" Recipe Recursive ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Nodes Ġ= Ġ[ Named Attribute Node ( value Ġ= Ġ" ingredients ", Ġsub graph Ġ= Ġ" Ingredient With Proto ") ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub graphs Ġ= Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNamed Sub graph ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Ingredient With Proto ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Nodes Ġ= Ġ[ Named Attribute Node (" prototype ")] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ) Ċ ) Ċ data Ġclass ĠRecipe ( ĊĠĠĠĠĠĠĠ Ġ@ Id Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠĠĠĠĠ Ġ@ get : ĠNot Blank ĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠString Ġ= Ġ"", ĊĊĠĠĠĠĠĠĠ Ġvar Ġdescription : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġvar Ġimage : ĠString Ġ= Ġ"", ĊĊĠĠĠĠĠĠĠ Ġ@ get : ĠNot Null ĊĠĠĠĠĠĠĠ Ġvar Ġrating : ĠInt Ġ= Ġ- 1 , ĊĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( fetch Ġ= ĠFetch Type . LA ZY , Ġorphan Removal Ġ= Ġtrue , Ġcascade Ġ= Ġ[ Cascade Type . ALL ], Ġmapped By Ġ= Ġ" recipe ") ĊĠĠĠĠĠĠĠ Ġvar Ġingredients : ĠMutable List < Ingredient > Ġ= Ġmutable ListOf () Ċ ) Ċ