我在 Android 上使用 ORMLite 并有以下问题:
是否可以基于单个 Java 类创建多个表?
这些表应该仅在名称上有所不同,并且应该通过名称访问它们。
例如,如果我有一堂课:
public class Order{
@DatabaseField
public string Name;
@DatabaseField
public string Amount;
}
我有可以创建订单的动态数量的模块。我希望每个模块都有自己的表,但所有表都应该有类似的架构。
我知道我可以在 Order 类中添加一个字段来指示源模块名称,并将所有订单都放在一个表中,但我想知道是否有一种方法可以分隔表(为了更快的查询,更快地从订单中删除订单)相同的模块等等)
Thanks!
这里最大的问题是“动态”是什么意思。如果您的意思是您需要创建这些模块Order
如果您事先不知道它们的名称,那么我相信模块名称字段是执行此操作的有效方法。对我来说,为每种类型的订单创建一个表似乎是不成熟的优化——没有充分理由的复杂性。
也就是说,您可以通过实例化来完成动态类DatabaseTableConfig http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/table/DatabaseTableConfig.html对于每张桌子和以编程方式定义类 http://ormlite.com/docs/class-config.
如果您并不是真正的意思是动态的,那么完成放置每个模块的最简单方法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
将在每个fooorder
and barorder
tables.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)