今天犯了個錯誤
generator節點class屬性有這麼幾個值(主鍵生成策略方案):
assigned:由用戶指定主鍵值
sequence:由oracle序列生成
increment:對類型為long,short,int的主鍵,以自增長的方式生成主鍵值,增量為1
identity:在oracle中沒用,因為他是支持標志列的數據庫能夠用的
native: 由hibernate決策(大家自己測吧)
當我們配置節點屬性為assigned時,並且沒有為主鍵賦值:
當節點屬性為increment時我們運行:
可以看到執行了查詢語句,他在查詢最大的gradeid,而我的表為空表,所以查不到任何值,並沒有執行更新或者插入的操作
transction錯誤可以忽略,這個錯誤是因為之前測試的時候沒有begintransaction(),在save前面加上session.beginTransaction();就能解決
解決方案: