4

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

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

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

非常感谢。

4

1 回答 1

2

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

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

  • 如果你使用.hbm.xml,你可以对其应用一些预处理
  • 如果您使用注释,则可以使用orm.xml语法中的配置文件覆盖它们
于 2011-02-09T11:26:39.663 回答