Room 提供了在基元类型和盒装类型之间进行转换的功能,但不允许实体之间进行对象引用。本文档介绍了如何使用类型转换器,以及 Room 为何不支持对象引用。
使用类型转换器
有时,您的应用需要使用自定义数据类型,其中包含您想要存储到单个数据库列中的值。要为自定义类型添加此类支持,您需要提供一个TypeConverter
,它可以在自定义类与 Room 可以保留的已知类型之间来回转换。
例如,如果我们想保留 Date
的实例,则可以编写以下 TypeConverter
,将等效的 Unix 时间戳存储在数据库中:
1 | public class Converters { |