我JPA實體:刪除/刪除與JPA-實體保留在數據庫
@Entity
public class Test implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Lob
public byte[] data;
}
現在,讓我們說我存儲100個條目在我的數據庫,並且每個條目包含3 MB。
SELECT x FROM Test x
返回100個條目,數據庫(在文件系統上)的大小約爲300 MB(如預期的那樣)。
下一步是通過調用每個條目來刪除全部100個條目:entityManager.remove(test)
。
SELECT x FROM Test x
現在導致一個空表,但數據庫仍然有300 MB的大小!首先,如果我刪除表格,數據庫將縮小到初始狀態。
這裏怎麼回事?如果我刪除條目,它們不會真的被刪除?!
我嘗試使用JavaDB和Oracle XE,並且使用EclipseLink。