objectbox / objectbox/objectbox-java

Improve relations to play nicer with server APIs (e.g. Retrofit, GSON, Jackson, Moshi, ...)

Offen
#104 63 Kommentare 26 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
Java
Sterne
4.6k
Forks
311
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

If you get object data from another source (e.g. server) you can make those data objects also ObjectBox entities. One thing has to be considered: relations on ObjectBox currently rely on ToOne and ToMany types, which 3rd party libraries are not aware of.

A quick work around would probably be to walk through the object graph and replace List objects with ToMany objects.

However, we could also look into supporting plain java.util.Lists in some way. A put would have to detect the type and do some additional syncing to figure out what to do. Or maybe just plainly put all objects in the list?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Dateien oder Tests genannt. Beginne damit nachzuverfolgen, wie ObjectBox mit ToOne, ToMany, plain java.util.List und put-Operationen umgeht, und vergleiche anschließend die möglichen Ansätze für Objekte aus Retrofit, GSON, Jackson oder Moshi. Als abgeschlossen gilt die Aufgabe, wenn eine definierte und implementierte Möglichkeit vorhanden ist, mit der vom Server abgebildete Objekte und ihre Beziehungen funktionieren, ohne dass Drittanbieterbibliotheken die ObjectBox-Typen verstehen müssen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
database
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.