sql >> Database teknologi >  >> NoSQL >> MongoDB

Spring HATEOAS-repræsentationsmodel, kan ikke indstille egenskabslinks, fordi ingen setter, ingen visner og det ikke er en del af persistens-konstruktøren

Er du sikker på, at du vil have dine enheder/modeller; Customer og Order , for at arve fra RepresentationModel klasse, som har egenskaben private final List<Link> links; ?

Hvis du har et kig på definition af RepresentationModel.java der står klart, at det er en Basisklasse for DTO'er til at indsamle links. , så IMHO jeg synes, at det skal bruges til DTO'er ikke til enheder .

Ellers, hvis du vil beholde det, som du beskrev, er den eneste måde, jeg ser for at undgå fejlen, ved at ignorere links felt fra at blive ved :

  1. Tilsidesættelse af getter af links
  2. Placering af @Transient på getter af links egenskaben for RepresentationModel klasse

Det vil se sådan ud :

@Transient
@Override
public Links getLinks() {
    return super.getLinks();
}

Hvis denne tilgang ikke virker, kan du prøve at oprette dedikerede DTO'er til dine enheder, og hver af dine DTO'er vil arve fra RepresentationModel , på denne måde undgår du den støjende undtagelse og holder tingene rene!



  1. tæl array-forekomster på tværs af alle dokumenter med mongo

  2. Kan ikke godkende bruger i MongoDB 3.0.2 ved hjælp af java-forbindelse

  3. Opbygning og installation af MongoDB C++ driver i OS X

  4. $sum fra dokumenter og underdokumentgruppe af $author (MongoDB)