sql >> Database >  >> NoSQL >> MongoDB

Spring HATEOAS RepresentationModel, kan geen eigenschapskoppelingen instellen omdat er geen setter, geen wither is en het geen deel uitmaakt van de persistentieconstructor

Weet u zeker dat u uw entiteiten/modellen wilt; Customer en Order , om te erven van RepresentationModel klasse met de eigenschap private final List<Link> links; ?

Als je de definitie van RepresentationModel.java het zegt duidelijk dat het een Basisklasse is voor DTO's om links te verzamelen. , dus IMHO denk ik dat het moet worden gebruikt voor DTO's, niet voor entiteiten .

Anders, als je het wilt houden zoals je hebt beschreven, is de enige manier die ik zie om de fout te voorkomen, door de links te negeren veld wordt niet bewaard :

  1. Overschrijven van de getter van links
  2. @Transient plaatsen op de getter van links eigenschap van RepresentationModel klas

Het ziet er als volgt uit:

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

Als deze aanpak niet werkt, probeer dan speciale DTO's voor uw entiteiten te maken, en elk van uw DTO's zal erven van RepresentationModel , op deze manier vermijdt u de luidruchtige uitzondering en houdt u de zaken schoon!



  1. Mongodb-aggregatie:$reduce werkt niet zoals verwacht

  2. Duw element in geneste array mongoose nodejs

  3. Een checklist voor ontwikkeling en bedrijfsvoering voor MongoDB

  4. Standaard bestandsrechten wijzigen op redis dump