zoukankan      html  css  js  c++  java
  • mongodb morphia关联查询一例

     1 //...此处省略了import...
     2 /**
     3  * Created by shenzhigang on 4/15/16.
     4  */
     5 public class Main {
     6     public static void main(String[] args) {
     7         Datastore datastore;
     8         final Morphia morphia = new Morphia();
     9         morphia.mapPackage("com.bdb.datatypes.common.po");
    10         datastore = morphia.createDatastore(new MongoClient("localhost", 27017), "test001");
    11         datastore.ensureIndexes();
    12 
    13         Student student = new Student();
    14         student.setName("沈志刚");
    15         student.setAge(30);
    16 
    17         School school = new School();
    18         school.setName("苏州小学");
    19         school.setAddress("苏州市");
    20         datastore.save(school);
    21 
    22         student.setSchool(school);
    23         datastore.save(student);
    24 
    25         List<Key<School>> schools =datastore.createQuery(School.class).field("name").equal("苏州小学").asKeyList();
    26         List<Student> studentList =  datastore.find(Student.class).field("school").in(schools).asList();
    27     }
    28 }
    29 
    30 @Entity
    31 class Student {
    32     @Id
    33     private ObjectId objectId ;
    34     private String name;
    35     private int age;
    36     @Reference
    37     private School school;
    38   //...此处省略了get set.... 
    39 }
    40 
    41 @Entity
    42 class School {
    43     @Id
    44     private ObjectId objectId;
    45     private String address;
    46     private String name;
    47   //....此处省略了get set...
    48 }
    49   
  • 相关阅读:
    redis之不重启,切换RDB备份到AOF备份
    redis之持久化RDB与AOF
    redis之哨兵集群
    redis之订阅功能
    redis之基础命令
    Liunx之MySQL安装与主从复制
    Python邮件发送脚本(Linux,Windows)通用
    redhat6.4 gcc g++ rpm方式安装步骤
    LVS+Keepalived+Mysql+主主数据库架构[2台]
    监控mysql状态脚本
  • 原文地址:https://www.cnblogs.com/shenzhigang/p/5395352.html
Copyright © 2011-2022 走看看