課程
/后端開發
/Java
/Hibernate初探之一對多映射
老師你好,在3.3小節中,在執行add()方法前對grade表和student表都做了清空操作,為什么執行后,表中的記錄依然不是從1增加呢?
2016-04-26
源自:Hibernate初探之一對多映射 3-3
正在回答
因為老師只是把這張表里面的數據刪除,并沒有刪除重新創建這張表。
mysql有一個主鍵自增的屬性,但是不同的數據庫引擎對此實現的方式不同。但相同的是,假如你插入了3條數據,id自增到3,這時候你把數據全部刪除,表仍然保留,那么下次插入,自增值是4. ?在某些引擎下,你可以修改自增值的下一次初始值,但是不能用以前用過的值。就是說,以前自增到3了,你必須設置比3大的自增初始值,比如15,那么下一次插入,他將id=15而不是4了。
下面是不同的存儲引擎的區別:
1.MyISAM刪除最大編號的記錄后,該編號不可重用,可設定和修改初始值。可使用復合索引在同一個數據表里創建多個相互獨立的自增序列。了解:復合索引。
2.InnDB不可重用編號,不可設置和修改初始值。不支持在一個數據表里使用復合索引來生成多個互不干擾的序列編號。
qq_云在風中_0
hibernate.hbm2ddl.auto的值的問題
create:表示啟動的時候先drop,再createcreate-drop: 也表示創建,只不過再系統關閉前執行一下dropupdate: 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新validate: 啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就拋出異常,并不做更新
舉報
Hibernate中一對多關聯映射配置,以及cascade和inverse屬性作用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-01
因為老師只是把這張表里面的數據刪除,并沒有刪除重新創建這張表。
mysql有一個主鍵自增的屬性,但是不同的數據庫引擎對此實現的方式不同。但相同的是,假如你插入了3條數據,id自增到3,這時候你把數據全部刪除,表仍然保留,那么下次插入,自增值是4. ?在某些引擎下,你可以修改自增值的下一次初始值,但是不能用以前用過的值。就是說,以前自增到3了,你必須設置比3大的自增初始值,比如15,那么下一次插入,他將id=15而不是4了。
下面是不同的存儲引擎的區別:
1.MyISAM
刪除最大編號的記錄后,該編號不可重用,可設定和修改初始值。
可使用復合索引在同一個數據表里創建多個相互獨立的自增序列。了解:復合索引。
2.InnDB
不可重用編號,不可設置和修改初始值。
不支持在一個數據表里使用復合索引來生成多個互不干擾的序列編號。
2016-04-26
hibernate.hbm2ddl.auto的值的問題
create:表示啟動的時候先drop,再create
create-drop: 也表示創建,只不過再系統關閉前執行一下drop
update: 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新
validate: 啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就拋出異常,并不做更新