0
我對此很新。我試圖用hsqldb和hibernate配置net-beans Maven項目。我已經建立了數據庫,並且能夠將一些數據保存到數據庫中。我正在使用文件模式。這是我的連接URLhsqldb數據庫特定表丟棄的問題,使用hsqldb/hibernate和我的maven項目
"jdbc:hsqldb:file:C:/data/findb"
然而,我遇到的問題是我的數據庫表將在每次執行刪除並重新創建全新的。我不希望發生這種情況。我只想創建表格一次,並能夠在之後進行更新。
這裏是我的配置文件的一個片段
boolean found = false;
String URL = "jdbc:hsqldb:file:C:/data/findb";
Configuration cfg = new Configuration();
if (!found) {
cfg.setProperty("hibernate.hbm2ddl.auto", "create");
} else {
cfg.setProperty("hibernate.hbm2ddl.auto", "update");
}
cfg.setProperty("hibernate.connection.driver_class",
"org.hsqldb.jdbcDriver");
cfg.setProperty("hibernate.connection.url", URL);
cfg.setProperty("hibernate.connection.username", "sa");
cfg.setProperty("hibernate.connection.password", "1234");
cfg.setProperty("hibernate.connection.pool_size", "20");
// cfg.setProperty("hibernate.connection.hsqldb.default_table_type",
// "cached");
sessionFactory = cfg.configure().buildSessionFactory();
而且以我的理解是位應該阻止表的下降在每一個創作,因爲我使用if-else語句來創建,如果不存在如果有的話更新。
這是mydb.log如何開始
/*C4*/SET SCHEMA PUBLIC
drop table FinPlan if exists
drop table PersonalAssets if exists
drop table TB_UNIQUEID if exists
我在想什麼? 任何幫助將不勝感激。 預先感謝您。
正確 - 看到這個(問題和)答案的更多細節:http://stackoverflow.com/questions/438146/hibernate-question -hbm2ddl-auto-possible-values-and-what-they-do/1689769#1689769 – Ralph
你是個天才的人。非常感謝你,現在它運行良好,我設置發現的值爲真,所以它不會丟掉我的表。 – Precious
一個簡單的問題....現在它變成了這樣的東西....從TB_UNIQUEID刪除其中ID = 1 INSERT INTO TB_UNIQUEID VALUES(1,160,1314080801652,'global_tb') COMMIT ...這是否意味着它會在添加新數據之前刪除表中的所有數據? – Precious