我有一种情况,表上的列可能存在也可能不存在。简而言之,我们有一个可选功能,如果实现,将在列到表中。如果客户选择不具有该功能,则他们将不会拥有该列。
我正在尝试在我的DAO中为它定义一个属性,希望如果列不存在,Hibernate不会爆炸。也许将值设置为null
。但是,Hibernate抛出了“无效标识符”异常。
有人知道你能不能这样做?有一个列映射,如果列在那里Hibernate填充它,但如果它不存在,一切都很好,它只是null
?
非常感谢。
答案 0 :(得分:2)
最明显的选择是创建不同的映射,并在启动期间根据环境选择其中一个映射。
根据您配置Hibernate的方式,您可以使用一些选项来避免不同映射之间的重复:
.hbm.xml
,则可以对其应用一些预处理orm.xml
语法