Deleting using ormlite on android?

后端 未结 2 1165
广开言路
广开言路 2021-02-07 05:07

I have a Client bean ,

@DatabaseField(columnName = \"client_id\",generatedId = true,useGetSet = true)
private Integer clientId;
@DatabaseField(columnName = \"cli         


        
2条回答
  •  一整个雨季
    2021-02-07 05:48

    To implement cascading while using ORMLite on Android you need to enable foreign key restraints as described here:

    (API level > 16)

    @Override
    public void onOpen(SQLiteDatabase db){
        super.onOpen(db);
        if (!db.isReadOnly()){
            db.setForeignKeyConstraintsEnabled(true);
        }
    }
    

    For API level < 16 please read: Foreign key constraints in Android using SQLite? on Delete cascade

    Then use columnDefinition annotation to define cascading deletes. Ex:

    @DatabaseField(foreign = true,
    columnDefinition = "integer references my_table(id) on delete cascade")
    private MyTable table;
    

    This is assuming the table/object name is "my_table", as described here: Creating foreign key constraints in ORMLite under SQLite

提交回复
热议问题