使用Room
ORM,我使用EQPreset
注释声明了一个实体@Entity
。该实体包含数组int[]
。它给出了以下错误:
错误:无法弄清楚如何将此字段(int [] arr)保存到数据库中。您可以考虑为其添加类型转换器。
通常将EQPreset
实例保存到数据库中,我会创建一个单独的表来存储数组的值,并使用指向相关EQPreset
的外键。
但是,我需要找到使用int[] arr
存储EQPreset
Room
ent
的方法,即通过制作单独的表格或使用任何好的方法/方式。“ / p>
答案 0 :(得分:4)
选项#1:摆脱int[] arr
。让其他实体表示此整数,并将外键返回到EQPreset
实体。让DAO上的方法能够为给定的EQPreset
实体提供整数实体。
选项#2:使用@TypeConverter
将int[]
转换为可以进入单个列的内容(例如,将其转换为JSON数组或从JSON数组转换,表示为字符串)。< / p>