首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有同义词的Hibernate hbm2ddl

带有同义词的Hibernate hbm2ddl
EN

Stack Overflow用户
提问于 2015-05-12 04:27:44
回答 2查看 1.5K关注 0票数 2

我最近在我们的数据库中添加了同义词。这些同义词包含整个实体信息,因此具有自己的映射文件。连接到同义词不是问题。问题出在使用hbm2ddl工具时。

如果我包含同义词映射文件,hbm2ddl工具会将同义词表创建为普通表,它应该被忽略。我不确定如何将实体映射标记为同义词(或者如果可能的话),并限制hibernate为该同义词创建新的表。

如果我排除映射文件,则该工具不会通过验证,因为其他文件引用了同义词实体。示例:

代码语言:javascript
复制
   <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

EN

回答 2

Stack Overflow用户

发布于 2015-07-06 14:45:48

我认为hbm2ddl只适用于表,而不适用于同义词。我建议保留hibernate.hbm2ddl.auto= ""的值,而不是验证。

同样的讨论也出现在hibernate论坛上

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

票数 0
EN

Stack Overflow用户

发布于 2019-01-21 16:44:08

我添加此答案是因为这不是禁用验证的可接受答案。有时,您需要验证模式。

在Hibernate 5.1中,验证也适用于同义词,应该将以下属性hibernate.synonyms设置为true

来源:https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30177039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档