在某些环境中可能缺少带有表的实体

时间:2019-04-15 17:11:42

标签: jpa jpa-2.1

我有一个代表通用用户的实体,存储在仅在较低环境中填充的表中。 当然,那不应该在生产中使用,并且为了确保我们没有记错,在生产环境中甚至不存在模拟表。

为了在管理员屏幕中显示这些普通用户,我创建了一个GenericUser实体,该实体已映射到表“ GENERIC_USER”上。 我的问题是,即使我没有在生产中使用该实体(通过将其调整为环境参数),该实体仍将存在于代码中,并且webapp将在启动(然后失败)时抱怨表GENERIC_USER是丢失。

是否有一种方法可以让JPA根据参数忽略给定表的不存在?

我无法选择关闭模式的整个验证(删除hibernate.hbm2ddl.auto =“ validate”)。

谢谢

1 个答案:

答案 0 :(得分:0)

您需要配置检测到哪些实体。 对于Spring,使用@EntityScan批注很简单。

没有春天:

您还可以尝试将Spring作为依赖项,而不是将应用程序转换为Spring,只需使用LocalContainerEntityManagerFactoryBean

请参见LocalContainerEntityManagerFactoryBean example