房间;将整数数组存储到单独的 table?

Room; Store integer array to a separate table?

使用 Room ORM,我已经使用 @Entity 注释声明了一个实体 EQPreset。该实体包含一个数组 int[]。它给出以下错误:

错误:无法确定如何将此字段 (int[] arr) 保存到数据库中。可以考虑为其添加类型转换器

通常将 EQPreset 实例保存到数据库,我会创建一个单独的 table 来存储数组的值,并有一个指向相关 EQPreset 的外键。
但是,我需要找到使用 Room 存储 EQPresetint[] arr 的方法,也就是说,通过制作单独的 table 或使用任何好的 approach/way.

选项 #1:删除 int[] arr。让一些其他实体代表这个整数,外键返回 EQPreset 实体。让您的 DAO 上的方法能够为您提供给定 EQPreset 实体的整数实体。

选项 #2:使用 @TypeConverterint[] 转换为可以放入单个列的内容(例如,将其与 JSON 数组相互转换,表示作为字符串)。