两个 Hibernate SessionFactories 创建

Two Hibernate SessionFactories creation

我有为同一个数据库生成 2 个 SessionFactories 的遗留代码,即 1 个数据库和 2 个 SessionFactories。

当我升级到 Hibernate 5.4.3 时,我得到

org.hibernate.DuplicateMappingException: Duplicate query mapping

尝试启动应用程序时。当我只创建一个会话工厂时,不会出现上述异常。

有人能解释一下原因吗?1 个数据库有 2 个会话工厂是否有充分的理由?

似乎不​​言自明。您已尝试在同一个 SessionFactory (SF) 中映射一个或多个具有相同名称的命名查询。

您可能想要使用 multipleSessionFactories 的正当理由有很多。

  • 也许数据库是多租户的,每个 SF 映射到不同的租户
  • 可能每个SF占不同级别的权限
  • ...

没有更多细节很难说。而你最好的“为什么”来源将是遗留开发人员