有多个sessionFactory实例

use*_*115 6 oracle hibernate

我正在将遗留应用程序移植到hibernate 5,我在登录阶段遇到了麻烦.这是它的工作原理(我不能改变它):

  • 用户最初使用通用登录名/密码连接到oracle DB(对所有用户都相同)
  • 然后用户运行"登录"存储过程并输入唯一密码作为参数
  • 该过程向用户返回特定的Oracle DB用户名/密码
  • 用户断开与DB的连接,并使用存储过程提供的凭据重新连接

我目前为每个连接用户创建一个sessionFactory实例,但我担心这会影响性能.有一个更好的方法吗?

谢谢

ike*_*ttu 1

即使您实际上连接到相同的数据库但具有不同的凭据,具有“单独数据库”策略的 Hibernate多租户也可以工作。必须指定MultiTenantConnectionProvider以返回具有正确用户名和密码的连接。