我正在為我的 Java 應用程序使用 Hibernate。當 hibernate 打開連接時,JDBC 瘦客戶端打開這樣的會話:完成 Oracle DB 的工作后,我關閉打開的會話。會話關閉并處于非活動狀態,而不是完全被殺死。我也嘗試在關閉會話之前使用session.flush()命令,但它再次不起作用。我應該怎么做才能完全殺死和刪除這些會話?一個數據庫連接的例子,最后關閉它:Session session = null;Transaction transaction = null;try{ session = DatabaseConnection.GetDatabaseSession(); transaction = session.getTransaction(); transaction.begin(); /* Something something */ transaction.commit();}catch (Exception exp){ exp.printStackTrace();}finally{ if (session != null && session.isOpen()) { session.close(); session.flush(); }}我的GetDatabaseSession()方法:public static Session GetDatabaseSession() throws FileNotFoundException, NullModelException{ String connectionUrl = "jdbc:oracle:thin:@" + IPADDRESS + ":" + DBPORT + ":" + DATABASE; Properties properties = new Properties(); properties.put("hibernate.dialect", "org.hibernate.dialect.OracleDialect"); properties.put("hibernate.connection.driver_class", "oracle.jdbc.driver.OracleDriver"); properties.put("hibernate.connection.url", connectionUrl); properties.put("hibernate.connection.username", USERNAME); properties.put("hibernate.connection.password", PASSWORD); properties.put("hibernate.default_schema", SCHEME); properties.put("hbm2ddl.auto", "update"); properties.put("hibernate.query.substitutions", "true 0, false 1"); return new Configuration() .addProperties(properties) .addAnnotatedClass(SOMECLASS.class) .buildSessionFactory( new StandardServiceRegistryBuilder() .applySettings(properties) .build()).openSession();}
Java Hibernate 會話沒有被正確終止
慕尼黑5688855
2023-05-10 13:54:30
