其他分享
首页 > 其他分享> > android-使用Room从父类的主键?

android-使用Room从父类的主键?

作者:互联网

我正在使用Android体系结构组件.因此使用房间“ ORM”.我有一个EQPreset类,该类具有成员String预置名称.此类有一个名为UserDefinedEQPreset的子类,它包含一个int [] arr.我已经使用@Entity批注声明了子类EQPreset和实体,因为只有这个子类型我想存储在db中.现在,我想使用父类的(EQPreset)成员String PresetName用作主键.如何在使用Room时将父类的成员声明为主键.我知道@Primarykey批注用于声明主键.但是如何使用父类的成员作为主键.

解决方法:

将@PrimaryKey批注放在父类的字段上.做完了

例如,在this sample app中,我有一个带有@PrimaryKey的抽象类Plan
公共最终字符串ID.所有子类(例如Trip)都继承该@PrimaryKey定义.

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

标签:android-room,android-architecture-components,primary-key,android
来源: https://codeday.me/bug/20191025/1931492.html