Beiträge von Solix0x

    Hallo :D


    Ich programmiere eine App die Room benutzt und habe eine vorhandene Datenbank. Meine Entity sieht so aus:




    Die internalId soll als PrimaryKey dienen, da ein Pokemon mehrmals vorkommen kann und sie dann trotzdem unterscheidbar sein sollen und die internalId fängt bei 1 an und erhöht sich immer um 1. Ich habe mir einen Importer und einen Exporter geschrieben, wobei der der Exporter alles exportiert auch mit inernalId und der Importer setzt dann auch die internalId, sodass "autoGenerate = true" vielleicht unnötig ist? Hier ist meine Insert Methode:



    Java
    @Insert
    fun addPokemon(vararg data: PokemonData)


    Nun ist ein Datensatz nach dem Importieren in der Datenbank gespeichert und die größte internalId ist zum Beispiel 73. Nun möchte ich ein neues Pokemon hinzufügen, aber ohne die internalId selbst zu setzen, dafür sollte denke ich "autoGenerate = true" sorgen. Allerdings setzt er die internalId dann nicht auf 74, sondern sie bleibt auf 1 und weil es die 1 schon gibt, crasht es.


    Nun könnte ich eine Abfrage nach der größten bisherigen internalId machen und diese selbst um 1 erhöhen und auch selbst setzen, aber vielleicht geht es ja auch so, dass Room das übernimmt?


    Und hier noch der relevante Fehler: