如何在 Java Berkeley DB 中存储 ArrayList 字段?
我在 Java 中使用 TupleSerialBinding 将这个结构存储在 berkeley DB 中:
public class SampleValues implements Serializable, MarshalledEntity {
private static final long serialVersionUID = 1L;
protected double min;
protected double max;
protected ArrayList<Double> values = new ArrayList<Double>();
}
关键是使用类创建 EntryBinding 的最小值。 在我基于 SamplesValues 创建 EntityBinding 后,
我没有找到如何使用 TupleSerialBinding 存储“值数组”。
min 和 max 的值被存储,但 value 数组不被存储。
I have this structure in Java to be stored in berkeley DB using TupleSerialBinding:
public class SampleValues implements Serializable, MarshalledEntity {
private static final long serialVersionUID = 1L;
protected double min;
protected double max;
protected ArrayList<Double> values = new ArrayList<Double>();
}
The key is the min value which is created using a class to make an EntryBinding.
After I create an EntityBinding based on SamplesValues
I didn't find how to store the "values array" using TupleSerialBinding.
The values of min and max are stored, but the values array is not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将为 SampleValues 类创建一个代理,以
实现
将 SampleValues 类转换为 SampleValuesProxy 类的实例方法。用简单的 [] 替换代理中的 ArrayList。
那么您需要将代理注册为EntityModel并将
模型放入storeconfig中
因此当berkleydb去存储您的SampleValues对象时,它将其转换为代理类并写入它(读取时反之亦然)
看看 berkeleydb 源代码发行版中的类
,了解如何实现它的示例。
I would create a Proxy for the SampleValues class as
implementing the
instance methods to convert your SampleValues class to a SampleValuesProxy class. Substituting a simple [] for the ArrayList in the proxy.
then you need to register the proxy with the EntityModel as
and put the model in the storeconfig
So then when berkleydb goes to store your SampleValues object, it converts it to the proxy class, and writes it (and when reading vice-versa)
Look at the class
in the berkeleydb source distribution for an example on how to implement it.