日期:2014-05-16  浏览次数:20474 次

Berkeley DB 简介---- 存储数据

JE在使用DPL方式存储数据时必须有个唯一的主键,但是用使用Base APi时却没有这么严格。

其他的secondary key不必须是唯一。

?

?

  1. 使用java annotations标明一个类是实体类还是持久类。
  2. 实体类有一个主键和若干个 secondary key,将直接用DPL保存和获取的对象类,注释是@Entity。
  3. 持久化类,是被entity类使用,没有用来保存和查询的主键和 ?secondary key。持久化类只是在当实体类执行相关指令时才会被存储和获取。注释是@Persistent。
  4. 实体类的主键用@PrimaryKey标注。
  5. 所有的non-transient都会被持久化。静态和transient属性不会被持久化。
  6. 所有的java对象,如String、Date都是自动当做persistent

使用base api存储数据时key和value必须是byte array(二进制)。以DatabaseEntry实例方式存储和获取,DatabaseEntry只支持二进制数据。

当使用DPL时可以用@SecondaryKey注释来标注一个secondary key。同时得说明索引类型。ONE_TO_ONE、MANY_TO_ONE

当使用base api时secondary key是靠使用一个专门的数据库实现的---secondary databse。



?