Моя сущность JPA:
@Entity
public class Test implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Lob
public byte[] data;
}
Теперь предположим, что я храню 100 записей в моей базе данных, и каждая запись содержит 3 МБ.
SELECT x FROM Test x
возвращает 100 записей и базу данных (в файловой системе) имеет размер около 300 МБ (как и ожидалось).
Следующим шагом является удаление всех 100 записей путем вызова: entityManager.remove(test)
для каждой записи.
SELECT x FROM Test x
теперь приводит к пустой таблице, НО база данных все еще имеет размер 300 МБ!Во-первых, если я отброшу таблицу, база данных будет сокращена до исходного состояния.
Что здесь не так?Если я удаляю записи, они действительно не будут удалены?!
Я пробовал с JavaDB и Oracle XE, и я использую EclipseLink.