MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Spring HATEOAS RepresentationModel, nie można ustawić łączy właściwości, ponieważ nie ma setera, nie więdnie i nie jest częścią konstruktora trwałości

Czy jesteś pewien, że chcesz mieć swoje podmioty/modele; Customer i Order , aby dziedziczyć z RepresentationModel klasy, które mają właściwości private final List<Link> links; ?

Jeśli spojrzysz na definicja z RepresentationModel.java mówi wyraźnie, że jest to klasa bazowa dla DTO do zbierania linków. , więc IMHO uważam, że powinien być używany dla DTO, a nie dla podmiotów .

W przeciwnym razie, jeśli chcesz zachować to tak, jak opisałeś, jedynym sposobem uniknięcia błędu jest zignorowanie links pole przed utrwaleniem :

  1. Zastępowanie gettera links
  2. Umieszczanie @Transient na pobieraczu links właściwość RepresentationModel klasa

Będzie to wyglądać tak:

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

Jeśli to podejście nie działa, spróbuj utworzyć dedykowane DTO dla swoich jednostek, a każdy z Twoich DTO będzie dziedziczył po RepresentationModel , w ten sposób unikniesz hałaśliwego wyjątku i utrzymasz porządek!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. szukaj według ObjectId w mongodb z pymongo

  2. Jak sformatować dane dla MongoEngine PointField

  3. Ukryty RFC3339 Data i godzina do daty w java

  4. Replika podstawowa MongoDb staje się drugorzędna, jeśli wtórna ulegnie awarii

  5. mongo znajdź zapytanie na joda datetime