有人知道如何让 db4o 在以下场景中工作吗?我尝试了cascadeOnUpdate()但失败了。
class Class1 {
int 字段;
}
类2类{
Class1[] clsArray;
}
//我通常这样改变Class2的对象
Class2 obj = getFromContainer();
obj.clsArray = null;
objectContainer.store(obj);
objectContainer.commit();
问题是db4o没有从数据库中删除Class1对象,这不符合我的要求。我在Class2上尝试了cascadeOnUpdate(),但它也不起作用。我是否需要循环进入 Class2.clsArray 并显式删除每个对象?或者有没有更简单的方法有人可以给我提供技术。
最佳答案
您基本上是在寻找某种“垃圾收集”,当对象不再被引用时,对象就会被删除。
db4o 没有此功能。您需要手动查看数组并删除对象。
关于java - 从容器对象中删除引用后,db4o 会留下空闲对象。如何解决呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759723/