首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在greenDao中使用多态?

如何在greenDao中使用多态?
EN

Stack Overflow用户
提问于 2014-04-25 17:11:25
回答 2查看 203关注 0票数 0

我已经尝试在greenDao中使用多态,但不成功。如何在greenDao中使用多态?

例如:

我有一个表"my_favorites",在那里我可以存储事件,图片,音乐的id外键…?

希望能得到您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2014-04-28 17:07:47

恐怕目前greendao还不支持这一点。

您必须将键存储到没有任何“toOne”或“toMany”的普通“LongProperty”中,并且在第二列中,您必须保存一个鉴别器的值(即引用的类名)。

然后你将不得不自己构建查询(即在'my_favorites‘的'KEEP-SECTION’中)。

代码语言:javascript
复制
public Object getDetail() throws ClassNotFoundException {
    if (daoSession== null) {
        throw new DaoException("Entity is detached from DAO context");
    }
    return daoSession.load(Class.forName(getDiscriminator()), getMyDetailId());
}
票数 0
EN

Stack Overflow用户

发布于 2014-08-23 19:51:47

你可以在你的数据库中使用ToMany关系。看看this tutorial

代码语言:javascript
复制
Entity customer = schema.addEntity("Customer");
customer.addIdProperty();
customer.addStringProperty("name").notNull();

Entity order = schema.addEntity("Order");
order.setTableName("ORDERS"); // "ORDER" is a reserved keyword
order.addIdProperty();
Property orderDate = order.addDateProperty("date").getProperty();
Property customerId = order.addLongProperty("customerId").notNull().getProperty();
order.addToOne(customer, customerId);

ToMany customerToOrders = customer.addToMany(order, customerId);
customerToOrders.setName("orders");
customerToOrders.orderAsc(orderDate);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23288847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档