objectbox / objectbox/objectbox-java
Embedded Objects
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 4.6k
- Forks
- 311
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hi,
I would like to store ValueObjects inside @Entity object, is it somehow supported?
What that basically mean is you can convert one class field into multiple database fields.
Solution 1)
Flatten the hierarchy
@Entity
public class Bill {
private String priceCurrency;
private Double priceAmount;
}
Solution 2)
Make relation
@Entity
public class Bill {
private ToOne<Money> price;
}
@Entity
public class Money {
@Id Long id;
private String currency;
private Double amount;
}
Solution 3)
Convert to one database field
@Entity
public class Bill {
@Convert(converter = MoneyConverter.class,dbType = String.class)
private Money money;
}
Neither of those solutions fit all my requirements which are
- Do not map manually between multiple class fields and ValueObject
- Do not use relation for performance/convenience reason
- Sum and compare ValueObjects fields such as
Double amount
Somebody have solution to this?
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Das Issue nennt keine Quelldateien, Tests oder Einstiegspunkte. Beginne damit, den Code für Entity-Mapping und Wertkonvertierung zu lokalisieren, und ermittle anschließend, ob eingebettete Wertobjekte die genannten Anforderungen ohne manuelles Feld-Mapping, Relationen oder Konvertierung einzelner Felder erfüllen können; als erledigt gilt die Aufgabe, wenn ein dokumentierter und getesteter unterstützter Ansatz vorliegt.
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
- 25/100