作者NullLife (好多问号)
看板java
标题[问题] JPA create table时奇怪的cache
时间Fri Sep 19 17:56:59 2014
情况是这样的,
一开始我在开发的时候,建了一个 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://webptt.com/cn.aspx?n=bbs/java/M.1411120624.A.A23.html
※ 编辑: NullLife (125.227.157.211), 09/19/2014 18:21:40
1F:推 cyclone350: 我用JPA column似乎只会多建,不会删除,FK也是. 09/19 20:44
2F:→ cyclone350: 所以都手动改table了~ 09/19 20:45
重点是我手动删掉那个table,想说它应该就会要根据我新的entity来建table...
但结果就不是,我发现它会跟我之前旧的entity会merge成ddl...
※ 编辑: NullLife (123.194.158.14), 09/20/2014 03:55:49
3F:推 chinagogoya: 09/20 15:39
4F:→ chinagogoya: 09/20 15:39
请问这位大大要表达的是...?
我终於找到问题了,原来不是我上述的原因,
一开始就找错方向了...
原来是我有一个OneToMany的List field,
有下OrderColumn annotation,结果mapping的那个entity里面有相同的名字...
我从我以为那个问题一一过滤假设性情况,最後找回到entity的设定...
绕了一大圈,才知道原来问题就在眼前...
不过也托这次的问题,让我了解了好多eclipse的东西 XD
※ 编辑: NullLife (123.194.158.14), 09/21/2014 01:19:39