package Ġnet . d ank ito . jpa . apt . config Ċ Ċ import Ġcom . fasterxml . jackson . annotation . Json Identity Info Ċ import Ġcom . fasterxml . jackson . annotation . ObjectId Generators Ċ import Ġjavax . persistence . Cascade Type Ċ import Ġjavax . persistence . Fetch Type Ċ import Ġjavax . persistence . Generation Type ĊĊ Ċ @ Json Identity Info ( ĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠObjectId Generators . UUID Generator :: class ) Ċ open Ġclass ĠColumn Config ( val Ġentity Config : ĠEntity Config , Ġval Ġproperty : ĠProperty ) Ġ{ ĊĊĠĠĠ Ġprivate Ġconstructor () Ġ: Ġthis ( Entity Config (), ĠProperty ()) Ġ// Ġfor Ġobject Ġde serializers ĊĊĊĠĠĠ Ġvar Ġtype : ĠType Ġ= Ġproperty . field . type ĊĠĠĠ Ġvar Ġclass Type : ĠClass < *> Ġ= Ġproperty . field . type . getClass Type () ĊĠĠĠ Ġvar ĠdataType : ĠDataType ? Ġ= Ġnull ĊĊĠĠĠ Ġvar ĠcolumnName Ġ= Ġproperty . field . name Ġ// Ġdefault Ġvalue , Ġmay Ġbe Ġoverwritten Ġby Ġ@ Column Ġ( or Ġother ) Ġannotation ĊĠĠĠ Ġvar ĠtableName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠId Ġconfiguration ĊĠĠĠ Ġvar Ġis Id : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Generated Id : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġgenerated IdType Ġ= ĠGeneration Type . AUTO ĊĠĠĠ Ġvar Ġid Generator : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġgenerated Id Sequence : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġis Version Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġis L ob Ġ= Ġfalse ĊĊĠĠĠ Ġ// Ġcolumn Ġconfiguration ĊĠĠĠ Ġvar Ġcolumn Definition : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġlength Ġ= Ġ 2 5 5 ĊĠĠĠ Ġvar Ġscale Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġprecision Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġcan BeNull Ġ= Ġtrue ĊĠĠĠ Ġvar Ġunique Ġ= Ġfalse ĊĠĠĠ Ġvar Ġinser table Ġ= Ġtrue ĊĠĠĠ Ġvar Ġup datable Ġ= Ġtrue ĊĠĠĠ Ġvar Ġfetch Ġ= ĠFetch Type . E AGER ĊĊĠĠĠ Ġ// ĠRelation Ġconfiguration ĊĠĠĠ Ġvar Ġrelation Type : ĠRelation Type Ġ= ĠRelation Type . None ĊĊĠĠĠ Ġvar Ġtarget Entity : ĠEntity Config ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtarget Column : ĠColumn Config ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġorphan Removal Ġ= Ġfalse ĊĠĠĠ Ġvar Ġreferenced ColumnName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġis JoinColumn Ġ= Ġfalse ĊĊĠĠĠ Ġvar Ġcascade Ġ= ĠarrayOf Null s < Cascade Type >( 0 ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcascade Persist Ġ= Ġhas Cascade Type ( Cascade Type . PER SIST ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġcascade Persist : ĠBoolean Ġ= Ġfalse ĊĊĊĠĠĠ Ġfun Ġis Enum Type (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtype . is Enum ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġis Relationship Column (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrelation Type Ġ!= ĠRelation Type . None ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis ToMany Column (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrelation Type Ġ== ĠRelation Type . OneToMany Ġ|| Ġrelation Type Ġ== ĠRelation Type . ManyToMany ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis ManyToMany Column (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrelation Type Ġ== ĠRelation Type . ManyToMany ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġis Lazy Loading (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfetch Ġ== ĠFetch Type . LA ZY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Order Columns (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas Cascade Type ( cascade Type : ĠCascade Type ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcascade . contains ( cascade Type ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠcolumnName Ġ+ Ġ" Ġon Ġ" Ġ+ Ġentity Config ĊĠĠĠ Ġ} Ċ }