You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio:Room数据库自动生成记录ID的配置疑问

Room自动生成ID的配置疑问解答

嘿,咱们来逐个拆解你的问题:

  • 现有配置是否足够实现ID自动生成?
    完全够用!你给id字段加上的@PrimaryKey(autoGenerate = true)注解,已经明确告诉Room要自动为这个主键生成递增数值,而且int类型也是Room支持自增主键的有效类型(如果数据量较大,用long会更稳妥)。插入数据时,Room会自动完成ID的生成和赋值,完全不用你手动干预。

  • 是否需要在其他类中进行配置?
    不需要额外配置啦!只要你的Room数据库类(继承自RoomDatabase的类)在@Database注解的entities数组里包含了Mitglieder,同时Dao层的插入方法正常用@Insert注解定义,整个自增ID的流程就能正常运转。

  • 是否需要将id加入构造方法?
    完全没必要!你现在写的只包含vorname和nachname的构造方法就足够了。当你调用Dao的插入方法时,Room会自动生成ID并填充到id字段里,创建Mitglieder对象时根本不用手动设置ID值。

另外给你个实用小技巧:如果插入数据后想直接拿到自动生成的ID,可以把Dao里的插入方法返回值设为long(或int),比如:

@Insert
long insertMitglied(Mitglieder mitglied);

调用这个方法后,返回的就是这条数据刚生成的主键ID啦。

内容的提问来源于stack exchange,提问作者LordGash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:06:08