ObjectBox1.1.0版一对多使用笔记

来源:互联网 发布:三星数据恢复软件大师 编辑:程序博客网 时间:2024/06/16 18:13

        工作中需要用到数据库,于是查了一些相关资料。貌似Objectbox是比较新的比较牛X的数据库,特点一大堆,应该是装13的利器,于是决定研究一番。

虽然到写笔记的时候最新版已经是1.2了,但是我也没有去看是不是把相关的东西又改掉了。。。反正根据我查阅的资料,0.9.9版的时候对应关系的注解还是@Relation,在1.1.0中就变为ToOne和ToMany了。。。个人觉得更新的比较快吧。

        项目中有两个类,一个工程,一个点。一个工程中记录了多个点。相关设置代码如下:


工程类:

@Entitypublic class ProInfo {    @Id    private long              id;    private String            pname;    private String            date;    public ToMany<PointInfo> points;    public ToMany<LineInfo>    lines;

点类:

@Entitypublic 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);

希望这点小心得可以帮助到各位看官,欢迎看官们与我交流分享~~~


原创粉丝点击