我有为同一数据库生成2个SessionFactory的遗留代码,即1个DB和2个SessionFactories。
当我升级到Hibernate 5.4.3时,我得到了
org.hibernate.DuplicateMappingException:重复的查询映射
尝试启动应用程序时。当我只创建一个会话工厂时,不会发生上述异常。
有人能解释一下原因吗?如果有什么好的理由为1个数据库创建2个会话工厂?
似乎不言自明。。您已尝试在同一SessionFactory(SF(中映射一个或多个具有相同名称的命名查询。
您可能想要使用多会话工厂,这有很多合理的理由。
- 也许数据库是多租户的,每个SF映射到不同的租户
- 也许每个SF都有不同级别的权限
没有更多细节很难说。以及你最好的";为什么";将成为传统的开发商