filter all dto all with mapstruct service all with serviceClass paginate all with infinite-scroll entity Customer { number Integer required unique min(10000) max(99999), prefix String required unique pattern(/[a-z][a-z0-9]+/), } entity Contact { firstName String required maxlength(80), lastName String required maxlength(80), email String required maxlength(80) } enum CustomerContactRole { CONTRACTUAL, TECHNICAL, FINANCIAL } entity CustomerContact { role CustomerContactRole required } entity Membership { sinceDate LocalDate required, untilDate LocalDate } enum ShareAction { SUBSCRIPTION, CANCELLATION } entity Share { date LocalDate required, action ShareAction required, quantity Integer required, comment String maxlength(160) } enum AssetAction { PAYMENT, HANDOVER, ADOPTION, LOSS, CLEARING, PAYBACK } entity Asset { date LocalDate required, action AssetAction required, amount BigDecimal required, comment String maxlength(160) } relationship OneToMany { Customer to Membership{customer(prefix)}, Membership to Share{member}, Membership to Asset{member} } relationship ManyToOne { CustomerContact{contact(email) required} to Contact{role}, CustomerContact{customer(prefix) required} to Customer{role} }