objectbox / objectbox/objectbox-java

Detached entities 'ToMany.addAll' throws error

Ouverte
#412 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
Java
Étoiles
4.6k
Forks
311
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Issue Basics

  • ObjectBox version 1.4.4
  • Reproducibility: Always

Reproducing the bug

When creating entities (for inserting into ObjectBox), the ToMany field will throw this error if I use .addAll(list) it works if I use .add(entity) in a loop over the list.

Code

entity.bodyparts.addAll(bodyparts)

Logs & stackstraces

io.objectbox.exception.DbDetachedException: Cannot resolve relation for detached entities at io.objectbox.relation.ToMany.ensureBoxes(ToMany.java:144) at io.objectbox.relation.ToMany.ensureEntities(ToMany.java:184) at io.objectbox.relation.ToMany.ensureEntitiesWithTrackingLists(ToMany.java:155) at io.objectbox.relation.ToMany.trackAdd(ToMany.java:230) at io.objectbox.relation.ToMany.addAll(ToMany.java:264)

Entities

lateinit var bodyparts: ToMany<BodypartEntity>

Misc

As mentioned above, the issue seems to be with .addAll specifically, whereas .add does work. The issue happens with detached entities, not using @Id(assignable = true).

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par io.objectbox.relation.ToMany.addAll dans ToMany.java, puis comparez son cheminement à travers ensureBoxes, ensureEntities, ensureEntitiesWithTrackingLists et trackAdd avec la boucle add fonctionnelle décrite dans le rapport. Le travail est terminé lorsque des detached entities peuvent être passées à addAll sans provoquer de DbDetachedException, avec une couverture pour la reproduction signalée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, kotlin
Domaine
database
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.