繁体   English   中英

带有同义词的Hibernate hbm2ddl

[英]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 =“”的值,而不要进行验​​证。

休眠论坛中也进行了同样的讨论

https://forum.hibernate.org/viewtopic.php?p=2438033

我添加此答案,因为这不是禁用验证的可接受答案。 有时您想验证架构。

对于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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM