Java 将对象保存到数据库时使用hibernate

Java 将对象保存到数据库时使用hibernate,java,database,hibernate,jpa,orm,Java,Database,Hibernate,Jpa,Orm,在我的java应用程序中,我有一些带有继承的序列化实体类。保存这些类的实例时,我将它们转换为字节数组,并保存到数据库表中的longblob列。使用hibernate实现这个程序有什么好处吗。因为据我所知,hibernate用于以正确的方式将实体与数据库表映射。但这里我没有一个关系模型来映射实体的属性。我正在将它们保存为对象。我错过了什么吗。请澄清。提前感谢。如果您没有关系数据模型来保存这些对象,并且无法更改模式,那么您可以使用当前的方法 如果您使用PostgreSQL,您可能也会感兴趣。通过这种

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

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

如果您使用PostgreSQL,您可能也会感兴趣。通过这种方式,您可以使用JSON对象存储层次结构,甚至可以对它们运行本机SQL查询,尽管不支持继承,但如果您使用一些类列来区分对象类型,您就可以解决这个问题

最干净的方法是使关系模型与业务域模型同步。这样,您就可以从中受益:

乐观锁 缓存二级缓存和查询缓存 可查询层次结构 外部DBA层次结构可以仅使用SQL在您的层次结构上运行更新
不确定您是否遗漏了什么,但在您的设计中,您将无法表达对数据的查询,无法访问使用Java以外的语言存储的数据,甚至无法轻松更新实体的代码,也无法读取存储在数据库中的数据。