我已经尝试过在greenDao中使用多态,但没有成功。 如何在greenDao中使用多态?
我希望得到你的帮助!
答案 0 :(得分:0)
我担心目前还没有得到greendao的支持。
您必须将密钥存储到正常的' LongProperty'没有任何'一个'或者“很多人”在第二列中,您必须保存一个鉴别器值(即引用的类名)。
然后你必须自己构建查询(即在你的' my_favorites'的保留部分中。
public Object getDetail() throws ClassNotFoundException {
if (daoSession== null) {
throw new DaoException("Entity is detached from DAO context");
}
return daoSession.load(Class.forName(getDiscriminator()), getMyDetailId());
}
答案 1 :(得分:0)
您可以在数据库中使用ToMany关系。看this tutorial
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);