我有一个小模式,由 jpa2 映射的 ~10 个类组成,hibernate 作为提供者。所有类都以相同的基本方式构建(@Entity
类的注释,id@Id
和@GeneratedValue
)。所有类都有默认的构造函数和默认的 getter/setter。
除了一个类之外,所有类都相互关联(通过关联或继承)。而这一类在模式生成过程中并没有得到数据库中创建的数据库表。
我尝试了以下设置hbm2ddl.auto
:
create:创建除一个之外的所有表。当第一次访问实体时抛出异常:(com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '...' doesn't exist
如果代码在 Oracle DB 上运行,则为 oracle 等效项)。
validate:hibernate 在模式验证期间抱怨丢失的表。
update:表没有被创建,并且在第一次访问该类的实体时抛出异常(如 create)。
有人对此有任何想法吗?