1
我正在使用cascade = CascadeType.PERSIST在我的類中對應於下面給出的子表(PAT)。休眠(4.2.7):瞭解級聯類型PERSIST
...
@ManyToOne(cascade=CascadeType.PERSIST)
private Neighbourhood nh;
...
鄰域類表示父表(NH)。
SQL生成:
Hibernate: select neighbourh_.CODE, neighbourh_.NAME as NAME2_0_ from NH neighbourh_ where neighbourh_.CODE=?
Hibernate: insert into PAT (DOB, DOOR_NUM, EMAIL, FIRST_NAME, HEIGHT, IS_MALE, LAST_NAME, LINE1, LINE2, MOBILE, nh_CODE, PHONE_HOME, PHONE_OFFICE, POSTAL_CODE, WEB, WEIGHT, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
問題
當我嘗試將記錄保存到子表(PAT),進入父表(NH )未被創建。我想要在父表中以及子表中創建一個條目。
這不是CascadeType.PERSIST應該做什麼?
NH表(鄰居實體)是空的,我已經證實了這一點。順便說一句,ALL而不是PERSIST插入兩個表中的記錄如預期,但我仍然與PERSIST這個問題。 – PhantomReference
您確定該條目沒有保存一點嗎?當插入PAT條目時,插入的PAR行的NH代碼是什麼? –