【问题标题】:Is there a way to have a Hibernate mapping to a column that may or may not exist?有没有办法将 Hibernate 映射到可能存在或不存在的列?
【发布时间】:2011-06-23 19:04:13
【问题描述】:

我有一种情况,表中的列可能存在也可能不存在。长话短说,我们有一个可选功能,如果实施,它将在表格上附加一列。如果客户选择不拥有该功能,他们将不会拥有该列。

我正在尝试在我的 DAO 中为其定义一个属性,希望如果该列不存在,Hibernate 不会崩溃。也许通过将值设置为null。但是,Hibernate 会抛出“无效标识符”异常。

有谁知道你能不能做到这一点?有一个列映射,如果该列存在 Hibernate 会填充它,但如果它不存在,一切都很好,它只是 null

非常感谢。

【问题讨论】:

  • 为什么不总是有该列并在另一列中有一个值来指示该功能的存在?
  • 我肯定会在那棵树上狂吠。这似乎有点奇怪,但这些是我们收到的牌。我希望有一些休眠的“灵活性”作为后备。

标签: hibernate hibernate-mapping


【解决方案1】:

最明显的选择是创建不同的映射,并在启动时根据环境选择其中一个。

根据您配置 Hibernate 的方式,您可以使用一些选项来避免不同映射之间的重复:

  • 如果你使用.hbm.xml,你可以对其进行一些预处理
  • 如果你使用注解,你可以使用orm.xml语法中的配置文件覆盖它们

【讨论】:

  • 感谢您的反馈...我想我正在走强制添加列的路径。否则似乎很乱。再次感谢您的帮助。
猜你喜欢
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
相关资源
最近更新 更多