0

我有一个名为COMMON的库项目。COMMON部署到我们公司的工件上,并被许多其他项目使用。在COMMON中,我有一些常见的实体。在尚未建立数据库连接的较新项目之一中,我们看到此错误:

org.hibernate.tool.schema.internal.SchemaDropperImpl$DelayedDropActionImpl: HHH000478: Unsuccessful: drop table myschema.my_table if exists

这是可怕的,因为这些实体不会被丢弃。它们甚至不需要在行级别进行修改,因为它们用 标记@Immutable

在使用COMMON作为依赖项的项目中,我可以通过 application.properties 中的以下设置告诉 hibernate 不要这样做: spring.jpa.hibernate.ddl-auto=none

这样做的问题是,在项目A中,如果我想在我的 A特定实体上使用 ddl-auto 功能,而不是在常见实体上,我不能用这种方法做到这一点。此外,如果开发人员忘记添加此属性,我们将删除表。

我们可以限制实体在休眠中被删除/创建吗?

4

0 回答 0