<分区>
我正在开发一个 Java Web 应用程序,该应用程序使用 Hibernate(基于注释)将实体持久保存到 Oracle 11g 数据库。 DBA 为表创建了同义词并要求我使用这些同义词而不是物理表。 (例如:表“Foo”有同义词“S_Foo”)
如果我启用了“hibernate.hbm2ddl.auto=validate”,那么应用程序会在启动时失败并显示“Missing Table: S_Foo”。如果我关闭验证,则该应用程序可以正常启动并正常运行。我的猜测是 Hibernate 在验证表是否存在时只检查物理表而不是同义词。
有什么方法可以使用同义词启用 Hibernate 模式验证吗?我可以在注释中同时指定物理表和同义词吗?我更喜欢在应用程序启动时进行额外的安全检查以确保表结构正确。