首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免自动加载hbm文件

避免自动加载hbm文件
EN

Stack Overflow用户
提问于 2012-12-08 20:21:30
回答 1查看 475关注 0票数 0

我有两个数据库(Oracle和SqlServer),并且在这两个数据库中有相同的表(省)。我正在使用JPA和Hibernate,并且需要对这些数据库中的任何一个执行操作。

我为每个表都有一个hbm映射文件,但两者都引用相同的类(Province.java)。我已经配置了hibernate.Oracle.cfg.xml和hibernate.SqlServer.cfg.xml,以便为每个DB声明适当的映射。

我也在使用Spring。

这就是我的问题。当应用程序加载(实际上是JUnit)时,它会尝试加载两个hbm文件,抛出DuplicateMappingException,因为Province.java是两次。此外,如果我只保留一个hbm文件和一个hibernate配置文件,它仍然抛出DuplicateMappingException;但是如果我从hibernate配置文件中删除映射,它就可以工作(但我不想这样)。这意味着hbm文件会自动加载,然后由于在配置文件中声明了它,所以会再次加载该文件。

有没有办法避免hbm文件被自动加载?

EN

回答 1

Stack Overflow用户

发布于 2012-12-11 19:23:34

我终于找到了解决这个问题的办法。

我在persistence.xml文件的两个持久化单元中都添加了false,它阻止了hbm文件被自动加载。我还必须将映射放在hibernate.Oracle.cfg.xml和hibernate.SqlServer.cfg.xml中。

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

https://stackoverflow.com/questions/13777428

复制
相关文章

相似问题

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