在 ORMLite 中为一个类创建多个表

2023-12-29

我在 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(使用前将#替换为@)

在 ORMLite 中为一个类创建多个表 的相关文章

  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s

随机推荐

  • UIViewController -viewDidLoad 没有被调用

    作为 Cocoa 的新手 我遇到了一些问题Interface Builder UIViewController和朋友 我有一个UIViewController子类具有UIView在 xib 中定义 并将控制器的视图出口连接到视图 xib 的
  • WooCommerce 添加到购物车验证:阻止添加到购物车

    我遇到了 woocommerce 的问题 我花了几天时间试图解决 我正在为一个人创建一个网站 他希望我在产品页面上添加自定义输入 我自己无法做到这一点 所以我在网上使用了自由职业者 在产品页面上 我有一个添加到购物车按钮 数量输入和日期输入
  • 在 VBA 中搜索单元格引用的公式

    在 VBA 中 我想搜索 Excel 公式 字符串 以查找单元格引用 具体来说 我想找到字符串中存在相对单元格引用 任何相对单元格引用 而不是特定单元格引用 或混合单元格引用的位置 我不需要找到绝对的单元格引用 尽管我可以检查并忽略它们 我
  • 在 Windows 10 中使用 PS 将程序固定到任务栏

    我正在尝试使用以下代码将程序固定到 Windows 10 RTM 中的任务栏 shell new object com Shell Application folder shell Namespace Join Path env Syste
  • 更新浏览器地址栏而不重新加载

    我喜欢 facebook 在图像之间滚动时更改浏览器地址栏 URL 的方式 以及它在 IE7 上的工作方式 但是 我只找到了有关如何在 HTML5 浏览器上执行此操作的信息 并且我想支持 IE7 由于这是一个 HTML5 解决方案 因此如下
  • 如何为Notepad++编写宏?

    我想为 Notepad 编写一个宏 它应该分别用 char4 char5 char6 替换 char1 char2 char3 Notepad 中的宏只是一堆编码操作 您开始录制 对缓冲区进行操作 也许激活菜单 停止录制然后播放宏 经过调查
  • java中如何将日期时间转换为时间戳

    论坛会员 我在 java 中遇到一个日期时间问题 实际上我正在收到开始日期格式为 2012 02 27T01 10 10我想将收到的日期插入到具有日期时间数据类型的数据库中 实际上我尝试通过下面的代码将收到的开始日期转换为日期时间 Stri
  • Android Eclipse Lint API 检查

    谢谢 P T 看起来像是问题的正确答案在 Eclipse 中构建多 SDK Android 应用程序而不会丢失编译时检查 https stackoverflow com questions 7642249 但是 当我尝试按照建议使用 Tar
  • 读取 spacy 中的文本文件语料库

    我看到的使用 spacy 的所有示例都只是在单个文本文件 尺寸很小 中读取 如何将文本文件语料库加载到 spacy 中 我可以通过腌制语料库中的所有文本来使用 textacy 来做到这一点 docs textacy io spacy rea
  • Azure Blob、文件和磁盘存储

    快问 我已经阅读了大量有关 azure blob 文件 磁盘存储选项的信息 并且我有一个如此简单的存储要求 以至于我对最佳选择感到困惑 我正在阅读的大部分信息都完全超出了我的理解范围 我希望有人能够将视野缩小到更合理的优点 缺点 我的情况如
  • 快速排序与堆排序

    快速排序和堆排序都进行就地排序 哪个更好 首选哪种应用和案例 堆排序是 O N log N 保证的 这比快速排序中最坏的情况要好得多 堆排序不需要更多内存来让另一个数组像合并排序那样放置有序数据 那么为什么商业应用程序坚持使用快速排序呢 与
  • update_or_create 与 ManyToManyField

    我有 2 个模型 如下所示 class Subs models Model tag models CharField max length 100 class Users models Model name models CharField
  • ReactforwardRef 含义

    我不明白这有什么意义 const FancyButton React forwardRef props ref gt
  • 如何使用 ffmpeg 批量/顺序下载 m3u8 文件?

    我目前在 Mac 上使用以下命令单独下载 m38u 播放列表 ffmpeg i lt URL with m3u8 gt codec copy output ts 如果我想处理多个文件 我目前可以通过单独的终端窗口进行操作 我想做的是 在一个
  • Python 使用正则表达式替换

    例如 有谁知道如何将所有出现的 lt 20 应该转化为 r n lt 20 but gt HELLO lt asassdsa 应该保持不变 gt gt gt import re gt gt gt str lt 20 gt gt gt out
  • Angular Elements 和 Stencil 的技术概念

    技术概念是角元素 and Stencil相似的 角元素将是 Angular 6 中的一个新功能 您基本上可以将编写的 Angular 组件包装为 Web 组件 根据我的理解 生成的自定义元素只是通往 Angular 的桥梁 因此我们仍然必须
  • Maven 使用 git 发布插件,如果在处理过程中推送提交,则会出现错误

    我们使用 git 存储库和 Maven 发布插件 在第一个构建步骤中 我们将所有更改提取到本地存储库 然后在下一个构建步骤中运行mvn release prepare release perform release prepare更新工作区
  • 如何以编程方式修改 Open/Libreoffice odt 文档?

    我想在我的应用程序中使用 OO LO PDF 生成功能 为此 我需要能够从代码中修改之前生成的 odt 模板 修改只是简单的文本替换 甚至不需要正则表达式 OO 开发者指南 https wiki openoffice org wiki Do
  • TypeError:“Tensor”对象不支持 TensorFlow 中的项目分配

    我尝试运行这段代码 outputs states rnn rnn lstm cell x initial state initial state sequence length real length tensor shape output
  • 在 ORMLite 中为一个类创建多个表

    我在 Android 上使用 ORMLite 并有以下问题 是否可以基于单个 Java 类创建多个表 这些表应该仅在名称上有所不同 并且应该通过名称访问它们 例如 如果我有一堂课 public class Order DatabaseFie