5

我正在实现一个 Web 应用程序,用户需要使用他的数据库用户名和密码进行身份验证。我想使用相同的输入用户名和密码连接到数据库。

换句话说,我希望休眠配置文件中的这两个字段:(dbusername 和 dbpassword):

<property name="hibernate.connection.username">dbusername</property>
<property name="hibernate.connection.password">dbpassword</property>

可以根据输入用户名和密码以登录 Web 应用程序的用户动态填写。

这是可行的吗?

谢谢

4

2 回答 2

10

这是您可以实现的方法

Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml"); //hibernate config xml file name
String newUserName,newPassword;//set them as per your needs
cfg.getProperties().setProperty("hibernate.connection.password",newPassword);
cfg.getProperties().setProperty("hibernate.connection.username",newUserName);
sessionFactory = cfg.buildSessionFactory();
于 2013-08-03T13:51:51.977 回答
-1

是的,您可以使用动态设置所有休眠属性

Configuration configuration = new Configuration();
configuration.configure("hibernate_sp.cfg.xml");
ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder().applySettings(configuration
                            .getProperties());
SessionFactory sessionFactory = configuration
                            .buildSessionFactory(serviceRegistryBuilder.buildServiceRegistry());
Session session = sessionFactory.openSession();
logger.info("Test connection with the database created successfuly.");

使用配置对象设置属性。

于 2013-08-03T13:35:56.953 回答