工作中需要用到数据库,于是查了一些相关资料。貌似Objectbox是比较新的比较牛X的数据库,特点一大堆,应该是装13的利器,于是决定研究一番。
虽然到写笔记的时候最新版已经是1.2了,但是我也没有去看是不是把相关的东西又改掉了。。。反正根据我查阅的资料,0.9.9版的时候对应关系的注解还是@Relation,在1.1.0中就变为ToOne和ToMany了。。。个人觉得更新的比较快吧。
项目中有两个类,一个工程,一个点。一个工程中记录了多个点。相关设置代码如下:
工程类:
@Entity public class ProInfo { @Id private long id; private String pname; private String date; public ToMany<PointInfo> points; public ToMany<LineInfo> lines;
点类:
@Entity public class PointInfo implements Serializable{ @Id private long id; private String type; private String type_item; private String tezheng; private String jianzhuwu; private String fushuwu; private String jingdimaishen; private String jinggaicaizhi; private String jinggaichicun; private String jinggaixingzhuang; private String jinggaizhuangtai; private String jingbochicun; private String jingbocaizhi; private String jingbomaisshen; private String jingcaizhi; private String jingchicun; private String x; private String y; @Uid(6882126075401224126L) public ToOne<ProInfo> proInfoToOne;
然后,在项目中新建一个点point之后,将其加入点表中,同时设置ToMany关系。
另外,还需要同时在该点所属的工程pro中添加ToOne关系。代码如下:
Box<PointInfo> box = MyApplication.getBoxStore().boxFor(PointInfo.class); Box<ProInfo> box1 = MyApplication.getBoxStore().boxFor(ProInfo.class); pi.proInfoToOne.setTarget(pro); box.put(pi); pro.points.add(pi); box1.put(pro);
希望这点小心得可以帮助到各位看官,欢迎看官们与我交流分享~~~