[英]Hibernate hbm2ddl with synonyms
我最近将同义词添加到了数据库中。 这些同义词包含整个实体信息,因此具有自己的映射文件。 连接到同义词不是问题。 问题是使用hbm2ddl工具时。
如果我包括同义词映射文件,则hbm2ddl工具会将同义词表创建为普通表,应将其忽略。 我不确定如何将实体映射标记为同义词(或者如果可能的话),并限制休眠状态为该同义词创建新表。
如果我排除了映射文件,则该工具不会通过验证,因为其他文件引用了同义词实体。 例:
<many-to-one name="creator" class="com.entities.MySynonymEntity" cascade="refresh" foreign-key="MY_SYNM_FKC" not-null="false" lazy="proxy" fetch="select">
<column name="MY_SYNM_FK" not-null="false" sql-type="NUMBER(19)" />
</many-to-one>
此处,映射文件属于一个实体,该实体位于真实数据库中,但指的是其数据是根据同义词填充的实体。
当涉及到同义词时,为hbm2ddl工具设置映射文件的正确方法是什么?
太感谢了,JP
我认为hbm2ddl仅适用于表,不适用于同义词。我建议保留hibernate.hbm2ddl.auto =“”的值,而不要进行验证。
休眠论坛中也进行了同样的讨论
我添加此答案,因为这不是禁用验证的可接受答案。 有时您想验证架构。
对于Hibernate 5.1,验证也适用于同义词,应该将以下属性hibernate.synonyms
设置为true
。
来源: https : //docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.