使用Room的父类的主键?

Sho*_*war 3 android primary-key android-room android-architecture-components

我正在使用Android体系结构组件。因此使用Room“ ORM”。我有一个EQPreset有成员的班级String presetName。此类有一个名为的子类UserDefinedEQPreset,并且包含一个int[] arr。我已经EQPreset使用@Entity注释声明了子类和实体,因为只有这个子类型我想存储在db中。现在,我想使用父类的(EQPreset)成员String presetName作为primary key。如何申报父类的成员,primary key同时使用Room。我知道@Primarykey注释用于声明主键。但是如何将父类的成员用作primary key

Com*_*are 5

@PrimaryKey注释放在父类的字段上。做完了

例如,在这个示例应用程序,我有一个abstract class Plan@PrimaryKey public final String id。所有子类(例如Trip)都继承该@PrimaryKey定义。

并非所有的东西都能正确继承(例如,@TypeConverters可以在字段上工作,但不能在类上工作),但是@PrimaryKey似乎可以。