【发布时间】:2010-12-28 19:28:02
【问题描述】:
我有一个具有类似属性的 Java 类
private Object myObj;
当我尝试使用 Hibernate 注释保存类时,我收到相当混乱的错误消息“属性映射的列数错误”。
持久化包含此类通用属性的类的正确方法是什么?
【问题讨论】:
-
我知道的唯一方法是序列化,我不推荐这个。每次编译应用程序时,数据库中对象的序列化版本可能会过时且无法检索。
-
一个问题是:是什么迫使您使用
Object作为该特定字段的类型?你不能改用更具体的类型吗? -
@afielden:您希望它如何工作?就数据库而言,您理想的最终结果是什么?
-
我同意,这并不理想,我认为 Hibernate 可能对此有一些问题。代码不是我的,我只是使用 Hibernate 实现持久层。这个想法是 Object 属性可能包含各种各样的数据,包括但不限于图像和视频。我猜他们想要一个非常灵活的解决方案。
-
是的,但是您希望如何在数据库中看到它?一列还是几列?是自己的表吗?这些列将是什么数据类型?在解决 ORM 难题时,您需要像关系数据库一样思考,而不是 java 开发人员。
标签: hibernate orm annotations