有没有办法将Hibernate映射到可能存在或不存在的列?

我有一种情况,表上的列可能存在也可能不存在.简而言之,我们有一个可选功能,如果实现,将在列到表中.如果客户选择不具有该功能,则他们将不具有该列.

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

有谁知道你能不能这样做?有一个列映射,如果列在那里Hibernate填充它,但如果它不存在,一切都很好,它只是空?

非常感谢.

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

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

>如果使用.hbm.xml,则可以对其应用一些预处理
>如果使用注释,则可以使用orm.xml语法中的配置文件覆盖它们

点赞