JPA CRUD 及sequence PK序號自動生成問題!
改寫PersonJpaRepository,新增update與insert的Method
並在JPADemoApplication內加入呼叫這兩個Method
執行得:
進入網站:http://localhost:8090/h2-console
請仔細看:
INSERT的資料列上ID位置不是吃到我們給的數字10004
而是JPA自動生成的ID:1(因為有設定@GeneratedValue)
由於前面我們有在Person class內多建一個不帶ID的建構子
所以我們可以試著改寫JPADemoApplication內呼叫的INSERT方法為如下:
再次執行得:
可以看到JPA替我們自己生出ID:1
再補上delete資料的部分
於PersonJpaRepository建立delete Method
可以注意到稍有不同的部分,在delete部分我們會先找到該ID的Person Entity
再由這個Person Entity去透過JPA的entityManager的remove方法執行刪除
然後在JPADemoApplication去呼叫delete方法
但注意這個沒有回傳值,所以就不用logger去觀察
執行得:
H2-console也可以看到: