【发布时间】:2017-07-13 07:39:43
【问题描述】:
我正在将旧应用程序移植到 hibernate 5,但我在登录阶段遇到了问题。这是它的工作原理(我无法更改):
- 用户最初使用通用登录名/密码(所有用户相同)连接到 oracle DB
- 然后用户运行“登录”存储过程并输入唯一密码作为参数
- 该过程将特定的 Oracle DB 用户名/密码返回给用户
- 用户断开与数据库的连接并使用存储过程提供的凭据重新连接
我目前为每个连接的用户创建一个 sessionFactory 实例,但我担心这会影响性能。有没有更好的方法来做到这一点?
谢谢
【问题讨论】:
-
你看过stackoverflow.com/questions/14411860/…。它解释了必须实现工厂设计模式的优点。
-
是的,谢谢。但是如何拥有一个具有不同登录名/密码的会话工厂实例?
-
这与stackoverflow.com/questions/7520583/… 的问题基本相同,除了使用多个 SessionFactories 之外似乎没有其他方法...
-
> 但我担心这会影响性能。你怎么知道它会影响性能?话虽如此,如果您正确配置
SessionFactory,则无需担心。 > 有没有更好的方法来做到这一点?不。正如其他人和上面的链接所提到的,每个SessionFactory一个用户是满足您要求的正确方法。