使用Hibernate将对象保存到数据库

问题描述 投票:0回答:1

在我的java应用程序中,我有一些具有继承的序列化实体类。保存这些类的实例时,我将它们转换为字节数组并保存到数据库表中的 longblob 列。使用hibernate来实现这个程序有什么优势吗?因为据我了解,hibernate 用于以正确的方式将实体与数据库表映射。但这里我没有关系模型来映射实体的属性。我将它们保存为对象。我是不是错过了什么。请澄清我。预先感谢。

java database hibernate jpa orm
1个回答
0
投票

如果您没有关系数据模型来保存这些对象并且无法更改架构,那么您可以使用当前的方法。

如果您使用 PostgreSQL,您可能也会对 JSON 存储 感兴趣。这样,您可以使用 JSON 对象存储层次结构,甚至可以对它们运行本机 SQL 查询(虽然不支持继承,但如果您使用某些 _class 列来区分对象类型,则可以应对这种情况)。

最简洁的方法是使关系模型与您的业务域模型同步。这样您就可以受益于:

  • 乐观锁定(防止丢失更新现象
  • 缓存(二级缓存和查询缓存)
  • 可查询的层次结构
  • 外部 DBA 层次结构可以仅使用 SQL 对您的层次结构运行更新
  • 审核
© www.soinside.com 2019 - 2024. All rights reserved.