Berkeley DB 简介---- 存储数据
JE在使用DPL方式存储数据时必须有个唯一的主键,但是用使用Base APi时却没有这么严格。
其他的secondary key不必须是唯一。
?
?
- 使用java annotations标明一个类是实体类还是持久类。
- 实体类有一个主键和若干个
secondary key,将直接用DPL保存和获取的对象类,注释是@Entity。
- 持久化类,是被entity类使用,没有用来保存和查询的主键和
?secondary key。持久化类只是在当实体类执行相关指令时才会被存储和获取。注释是@Persistent。
- 实体类的主键用@PrimaryKey标注。
- 所有的non-transient都会被持久化。静态和transient属性不会被持久化。
- 所有的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。
?