我有一个代表通用用户的实体,存储在仅在较低环境中填充的表中。 当然,那不应该在生产中使用,并且为了确保我们没有记错,在生产环境中甚至不存在模拟表。
为了在管理员屏幕中显示这些普通用户,我创建了一个GenericUser实体,该实体已映射到表“ GENERIC_USER”上。 我的问题是,即使我没有在生产中使用该实体(通过将其调整为环境参数),该实体仍将存在于代码中,并且webapp将在启动(然后失败)时抱怨表GENERIC_USER是丢失。
是否有一种方法可以让JPA根据参数忽略给定表的不存在?
我无法选择关闭模式的整个验证(删除hibernate.hbm2ddl.auto =“ validate”)。
谢谢
答案 0 :(得分:0)
您需要配置检测到哪些实体。 对于Spring,使用@EntityScan批注很简单。
没有春天:
如果使用的是persistence.xml,您将很难过-AFAIU无法定义在哪里查找persistence.xml,您只能在构建/部署期间为不同的环境提供正确的。参见JPA using alternative “persistence.xml”
或者,您可以尝试在没有persistence.xml的情况下配置JPA / Hibernate
您还可以尝试将Spring作为依赖项,而不是将应用程序转换为Spring,只需使用LocalContainerEntityManagerFactoryBean
。