如何从 Hive 盒对象中获取密钥并将其映射到对象的特定字段?
Posted
技术标签:
【中文标题】如何从 Hive 盒对象中获取密钥并将其映射到对象的特定字段?【英文标题】:How to get key from Hive box object and map it to specific field of the object? 【发布时间】:2020-09-01 16:38:28 【问题描述】:框是自动递增的。
假设我有一个像这样的对象:
@HiveType(...)
class Dummy
@HiveField(0)
int id;
@HiveField(1)
String name;
我希望 Hive 反序列化将 Dummy
对象的键映射到 id
字段。
【问题讨论】:
【参考方案1】:如果你从 HiveObject 继承你的类,那么你可以使用内置属性'key'。
@HiveType(...)
class Dummy extends HiveObject
//id not needed anymore
@HiveField(0)
String name;
...
Box<Dummy> db = Hive.box<Dummy>('dummy');
Dummy dummy = Dummy(name: "some text");
db.add(dummy); //add assigns next integer as key
//after storing object to a database, you can access its key using 'key' property
int id = dummy.key;
//another advantage of extending HiveObject, is that you can store or delete object from the database without accessing the box:
dummy.name = "other text";
dummy.save(); //put modified object into box
dummy.delete(); //delete object from the database
【讨论】:
非常感谢您的回复。我已经切换到 SQLite。我希望这对其他人有帮助。以上是关于如何从 Hive 盒对象中获取密钥并将其映射到对象的特定字段?的主要内容,如果未能解决你的问题,请参考以下文章