多表同型号

Multiple tables with same model

我正在使用 Active JDBC。我有一个用例,我想在任何给定日期从 table_date 读取,其中 table 的 structure/model 对于此类型的所有 table 都是相同的。例如:registrations_29_10_2015registrations_10_11_2015 等。其中所有以注册开头的 table 都将具有相同的 model/structure。我应该如何将 table 名称与模型动态绑定?我的意思是在 10 月 29 日我想使用 registrations_29_10_2015,在 11 月 10 日我想使用 registrations_10_11_2015。另外:是否可以在第二天开始时使用 active jdbc 创建一个 table?仅供参考,这基本上是为了分片 tables 并删除旧的 tables.

从技术上讲,该框架旨在根据约定检测 table 名称。但是,该信息存储在名为 MetaModel 的 class 中:http://javalite.github.io/activejdbc/org/javalite/activejdbc/MetaModel.html#getTableName()

每个模型都由元模型支持。虽然您不能只将 table 名称设置为 MetaModel,但添加此功能并不难。请在项目回购上打开一个问题以供考虑。

编辑:几天前我们在 ActiveJDBC 中发布了分片:http://javalite.io/sharding。它完全满足您的需求,尽情享受吧。