拥有多个sessionFactory实例

时间:2017-07-13 07:39:43

标签: oracle hibernate

我正在将遗留应用程序移植到hibernate 5,并且我在登录阶段遇到问题。以下是它的工作原理(我无法改变):

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

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

由于

1 个答案:

答案 0 :(得分:1)

使用“独立数据库”策略的Hibernate Multitenancy即使您实际连接到同一数据库但凭据不同,也可以使用。 必须指定MultiTenantConnectionProvider以使用正确的用户名和密码返回连接。