如果hibernate无法连接到数据库,我想以programmaticaly方式更改连接属性。我试图使用此代码执行此操作:
String connectionString = "jdbc:oracle:thin:@" + Cfg.getHost() + ":" + Cfg.getPort() + ":" + Cfg.getSid();
Configuration configuration = new Configuration()
.setProperty("hibernate.connection.url", connectionString)
.setProperty("hibernate.connection.password", Cfg.getPassword())
.setProperty("hibernate.connection.username", Cfg.getLogin());
sessionFactory = configuration.configure().buildSessionFactory();
属性来自属性文件。但buildSessionFactory适用于第一次连接尝试。对于其他人的尝试,他忽略了configuarion并且不想创建新的SessionFactory。
答案 0 :(得分:0)
SessionFactory应该创建一次。稍后在运行时,您应该使用该工厂为数据库操作创建会话。