[問題] JPA create table時奇怪的cache (自解了...
情況是這樣的,
一開始我在開發的時候,建了一個 T1 entity, 裡面有一個 a field
然後開發到一半的時候發現,我必須要把它當成一個父類,
於是 我又多了一個 T2 extends T1, 然後 T1 的 a 就拿掉了,
改寫到 T2 裡頭也叫 a,然後問題就來了,
起server在建table的時候,T2這張table的create語法裡頭就塞了兩個a column name,
然後就報Duplicate column name 'a'...
或者是原本T1有個b column不可為null,調整結構之後拿掉該column,
但它在建T2的時候又又自動幫我加入這個column,
但我實際操作entity insert的時候就根本沒有這個column,
然後又報說該欄位不可以為null...
更神的是有一些不用的entity,我都已經刪掉了,
結果每次啟動依然會幫我建table出來...
這問題之前遇過,但很鳥的都先把新改的entity或field name先偷改掉
過一陣子再改回來之前的name,就又正常的...
但今天又遇到,覺得不能這樣忽視這個問題...
所以估狗之後,對於 persistence.xml 的設定也沒有奇怪的地方
因為查到的都是對於query的cache機制,
eclipselink 似乎也沒有會造成這種情況的設定,
然後我試過各種重開機,eclipse、db server、新的workspace、由SVN拉全新的專案...
都依然會跑出舊的那些entity設定...
或許小弟愚鈍,但辜狗一整個下午,
實在找不到解答...
想請問板上有沒有人知道原因,或者有相關的key word提供方向給我尋找解答,
感謝了<(_ _)>
--
真理和公平的界定是那麼模糊
道理不道理要怎麼說才能清楚
在匆忙的世界我們走自己的路
努力的追逐那其實退步的進步
路上的風景經過了也就不在乎 黃玠
我們都該學習 什麼是滿足 拾荒地圖
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.157.211
※ 文章網址: http://www.ptt.cc/bbs/java/M.1411120624.A.A23.html
※ 編輯: NullLife (125.227.157.211), 09/19/2014 18:21:40
推
09/19 20:44, , 1F
09/19 20:44, 1F
→
09/19 20:45, , 2F
09/19 20:45, 2F
重點是我手動刪掉那個table,想說它應該就會要根據我新的entity來建table...
但結果就不是,我發現它會跟我之前舊的entity會merge成ddl...
※ 編輯: NullLife (123.194.158.14), 09/20/2014 03:55:49
推
09/20 15:39, , 3F
09/20 15:39, 3F
→
09/20 15:39, , 4F
09/20 15:39, 4F
請問這位大大要表達的是...?
我終於找到問題了,原來不是我上述的原因,
一開始就找錯方向了...
原來是我有一個OneToMany的List field,
有下OrderColumn annotation,結果mapping的那個entity裡面有相同的名字...
我從我以為那個問題一一過濾假設性情況,最後找回到entity的設定...
繞了一大圈,才知道原來問題就在眼前...
不過也託這次的問題,讓我了解了好多eclipse的東西 XD
※ 編輯: NullLife (123.194.158.14), 09/21/2014 01:19:39
java 近期熱門文章
PTT數位生活區 即時熱門文章