将 POJO 映射到实体

2024-01-21

在我们的项目中,我们有一个限制,即无法更改现有的表结构。这些表本质上是高度非规范化的。

我们为该应用程序提供了很好的 POJO。我们从现有表中生成了实体 bean。现在我们必须将 POJO 映射到实体,以便我们能够持久保存。

最终,我们将一个好的 POJO 与一个坏的表结合起来。对这种方法的选项/替代方案/建议有什么想法吗?


Hibernate/JPA(2) 具有一组丰富的功能来操作映射(以便您的对象可以与表不同),以便许多(不是全部)旧表可以映射到普通对象。 -- 你应该先看看这个,只有当这个映射不够强大时才使用你的 pojo/table-“解决方案”。


如果您有一个只读应用程序,您可以考虑使用视图来使您的表/视图更像您的对象。这可能会减少奇怪映射的数量。


我不知道您的映射、应用程序的大小或用例,但您是否考虑过不使用 Hibernate?我问这个,因为我可以想象(我怎么说:我不认识你的申请),在这样的架构中,没有使用 Hibernate 功能,因此 Hibernate 只会增加不需要的复杂性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 POJO 映射到实体 的相关文章

随机推荐

  • 测试 Android 片段

    我有一个无 UI 片段的业务逻辑 我必须对其进行测试 我尝试了两种选择 但都失败了 1 使用AndroidTestCase并创建模拟活动 以下代码 Override protected void setUp Intent i new Int
  • 我可以在 Xcode 4 中禁用调试器吗?

    我不想使用调试器 gdb 尽管我想从我的应用程序获取输出 来自 stdout 和 stderr 我发现我从来不用它 我总是用NSLog 或者 对于 Cprintf对于 C std cout 如何禁用调试器 即使在调试配置中 接下来运行和停止
  • SQL Server - EBS存储设计

    我们正在亚马逊上规划新的 EBS 结构 以获得 SQL Server 的最佳性能 过程中也出现了一些疑惑 1 使用亚马逊计算器 http calculator s3 amazonaws com index html http calcula
  • 如何使用 Express .listen()(在 Typescript 中)处理错误?

    目前正在将我的项目转换为使用 Typescript 我之前在 Node 中启动 Express 的工作代码如下所示 server listen port error gt if error throw error console info
  • C++ 中的多个整数类型类

    我经常发现自己使用整数来表示不同 空间 中的值 例如 int arrayIndex int usersAge int daysToChristmas 理想情况下 我希望为 索引 年 和 天 这些类型中的每一个都有单独的类 这应该可以防止我意
  • 使用假域名在本地计算机上托管网站

    我正在尝试托管一个带有域名的网站 但仅在我的计算机上 或可访问同一网络上的其他计算机 可选 我不希望其他人在我的家庭网络之外访问该网站 我想使用假域名 例如 www SampleWebsite com 现在 当我在计算机上键入此网站地址时
  • 如何实现滚动固定效果?

    如果你看一下网站 http eyeheartworld org pages the cause http eyeheartworld org pages the cause 向下滚动 有一个我在 codepen 上找到的概念的实现 当你向下
  • locale.setlocale(LC_NUMERIC):如何使其在 Windows 上工作

    我的是Win10下 这是我的小脚本 import locale locale setlocale locale LC NUMERIC rus print locale localeconv fv 2 5 print str fv 这打印出
  • 应用程序图标未更改为使用 cordova 的自定义图标[重复]

    这个问题在这里已经有答案了 我正在尝试使用phonegap启动cordova应用程序 但无法更改iOS的默认应用程序图标 实际图标不是启动屏幕 默认图标始终被复制到资源 gt 图标文件夹中 而不是我的自定义图标 我已经使用了phonegap
  • 如何使用mpirun为不同的程序使用不同的CPU核心?

    我有一个 32 核的虚拟机 我正在运行一些模拟 需要同时使用 16 个内核 我使用以下命令在 16 个核心上运行作业 mpirun n 16程序名 args gt 注销2 gt 1 该程序在 16 个内核上运行 现在 如果我想在其余核心上使
  • 屏幕旋转时小部件上的按钮单击丢失

    我有一个非常简单的小部件应用程序 其中包含LinearLayout有背景和ImageButton In the AppWidgetProvider onUpdate 方法中 我注册了单击按钮来广播意图 当小部件首次加载时 一切运行正常并且点
  • 在 Perl 中,如何在命令行上发送 CGI 参数?

    通常我从网页获取数据 但我想从命令行发送它以方便调试 为了获取数据我做了类似的事情 my query new CGI my username query gt param the username 这似乎不起作用 script pl the
  • 如何获取 Flask-SQLAlchemy 对象来加载 Jinja 模板的关系子项?

    我有用户和帖子的基本模型 在我的用户模型中 我有 posts db relationship Post backref user lazy dynamic 但是 当我做类似的事情时 return render template user h
  • Django Rest 序列化程序在数据存在时中断

    我有这个模型 class MyModel User others fields 和这个序列化器 class MySerializer serializers ModelSerializer class Meta model MyModel
  • 在先前的 Beta 审核获得批准后,如何在 iTunes Connect 中激活新版本的外部 Beta 测试?

    我从 Xcode 提交了一个新版本 我在 Itunes Connect 上有一个预发布版本 我填写了所有信息 通过单击构建 版本 有关此之前版本的信息 我添加了外部用户 他们有 已添加 状态 但是当我打开 Beta 测试航班时 外部用户仍处
  • sql join - 仅选择第二个表中的顶行

    一个sql菜鸟 在表a中有一个客户代码 电话号码的列表 表b中有所有通话记录 我想从表 b 中为表 a 中的每个客户代码 电话号码选择最近的呼叫 到目前为止我有 SELECT A CustomerCode A PhoneNumber B S
  • 无法在 Windows 10 上使用 Vagrant 安装 Laravel homestead

    我刚刚下载了最新版本的 Vagrant 2 2 15 和 VMware 我试着跑 vagrant box add laravel homestead 但我得到 The box laravel homestead could not be f
  • iOS7 Safari 和 Chrome 中奇怪的 CSS 拉伸问题

    自从在多部 iPhone 和 iPad 上升级到 iOS 7 以来 我们发现我们网站上的部分 UI 发生了非常奇怪的情况 所附图像中的粉色框位于绝对定位的父级内 并且它有两个绝对定位在其中的白色 div 每个都有不同的不透明度 粉色圆圈只是
  • 按照SOLID编写JavaScript

    有人在开发 JavaScript 时使用过 SOLID 编程原则 或其任何部分 吗 我刚刚开始阅读它 但似乎找不到任何人将它用于 JS 我发现唯一易于实施 使用的部分是 单一责任原则 我正在寻找的是使用这些原则的文章或示例 是否有任何争论为
  • 将 POJO 映射到实体

    在我们的项目中 我们有一个限制 即无法更改现有的表结构 这些表本质上是高度非规范化的 我们为该应用程序提供了很好的 POJO 我们从现有表中生成了实体 bean 现在我们必须将 POJO 映射到实体 以便我们能够持久保存 最终 我们将一个好