房间;将整数数组存储到单独的 table?
Room; Store integer array to a separate table?
使用 Room
ORM,我已经使用 @Entity
注释声明了一个实体 EQPreset
。该实体包含一个数组 int[]
。它给出以下错误:
错误:无法确定如何将此字段 (int[] arr) 保存到数据库中。可以考虑为其添加类型转换器
通常将 EQPreset
实例保存到数据库,我会创建一个单独的 table 来存储数组的值,并有一个指向相关 EQPreset
的外键。
但是,我需要找到使用 Room
存储 EQPreset
的 int[] arr
的方法,也就是说,通过制作单独的 table 或使用任何好的 approach/way.
选项 #1:删除 int[] arr
。让一些其他实体代表这个整数,外键返回 EQPreset
实体。让您的 DAO 上的方法能够为您提供给定 EQPreset
实体的整数实体。
选项 #2:使用 @TypeConverter
将 int[]
转换为可以放入单个列的内容(例如,将其与 JSON 数组相互转换,表示作为字符串)。
使用 Room
ORM,我已经使用 @Entity
注释声明了一个实体 EQPreset
。该实体包含一个数组 int[]
。它给出以下错误:
错误:无法确定如何将此字段 (int[] arr) 保存到数据库中。可以考虑为其添加类型转换器
通常将 EQPreset
实例保存到数据库,我会创建一个单独的 table 来存储数组的值,并有一个指向相关 EQPreset
的外键。
但是,我需要找到使用 Room
存储 EQPreset
的 int[] arr
的方法,也就是说,通过制作单独的 table 或使用任何好的 approach/way.
选项 #1:删除 int[] arr
。让一些其他实体代表这个整数,外键返回 EQPreset
实体。让您的 DAO 上的方法能够为您提供给定 EQPreset
实体的整数实体。
选项 #2:使用 @TypeConverter
将 int[]
转换为可以放入单个列的内容(例如,将其与 JSON 数组相互转换,表示作为字符串)。