在ORMLite一个类中创建多个表(Create multiple tables for one c

2019-07-31 02:10发布

我在Android上使用ORMLite,并有以下问题:是否有可能创建一个基于单一的Java类,很多表?

该表只应在其名称不同,以及对它们的访问应该是名字。

例如,如果我有一个类:

public class Order{
    @DatabaseField
    public string Name;

    @DatabaseField
    public string Amount;
}

我有一个可以创建订单模块的动态数量。 我想每个模块都有自己的表,但所有表应该有一个类似的模式。

我知道我可以在订单类,它指示源模块名称添加一个字段,并且拥有所有的订单住在一个表中,但我不知道是否有分离的表(更快的查询方式,从下单要快缺失相同的模块等)

谢谢!

Answer 1:

这里最大的问题是什么叫“动态”的意思。 如果你的意思是,你需要创建这些模块Order上飞S和你不知道他们的名字事先那么我相信所涉及的模块名称字段是做到这一点的一个有效途径。 要为每种类型的顺序创建表似乎是不成熟的优化,我 - 复杂没有很好的理由。

这就是说,你可以通过实例化一个实现动态类DatabaseTableConfig每个表和程序定义的类 。

如果你真的不意味着动态,然后完成将每个模块的最简单的方法Order它自己的表将与子类。

你可以有:

@DatabaseTable
public class FooOrder extends Order {
    // fields will be gotten from Order
}

@DatabaseTable
public class BarOrder extends Order {
    // fields will be gotten from Order
}

从田间地头Order将在每一个的fooorderbarorder表。



文章来源: Create multiple tables for one class in ORMLite