package org.nutz.service.pojo; import java.util.List; import org.nutz.dao.Dao; import org.nutz.dao.entity.annotation.*; import org.nutz.lang.meta.Email; @Table("srv_person") public class Person { public Person() { super(); } public Person(String name) { this.name = name; } public Person(String name, String email, int fatherId, int managerId, String masterName) { this.name = name; this.email = new Email(email); this.fatherId = fatherId; this.managerId = managerId; this.masterName = masterName; } @Column @Id private int id; @Column @Name private String name; @Column @Default("${name}@gmail.com") private Email email; @Column("fid") private int fatherId; @Column("mid") private int managerId; @Column("master") private String masterName; @One(target = Person.class, field = "masterName") private Person master; @Many(target = Person.class, field = "masterName") private List<Person> students; @One(target = Person.class, field = "fatherId") private Person father; @Many(target = Person.class, field = "fatherId") private List<Person> children; @Many(target = Person.class, field = "managerId") private Person[] employees; @Many(target = Profile.class, field = "id") private Profile profile; public Profile getProfile() { return profile; } public void setProfile(Profile profile) { this.profile = profile; } public int getManagerId() { return managerId; } public String getMasterName() { return masterName; } public void setMasterName(String masterName) { this.masterName = masterName; } public Person getMaster() { return master; } public void setMaster(Person master) { this.master = master; } public List<Person> getStudents() { return students; } public void setStudents(List<Person> students) { this.students = students; } public void setManagerId(int managerId) { this.managerId = managerId; } public List<Person> getChildren() { return children; } public void setChildren(List<Person> children) { this.children = children; } public Person[] getEmployees() { return employees; } public void setEmployees(Person[] employees) { this.employees = employees; } public int getFatherId() { return fatherId; } public void setFatherId(int fatherId) { this.fatherId = fatherId; } public Person getFather() { return father; } public void setFather(Person father) { this.father = father; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Email getEmail() { return email; } public void setEmail(Email email) { this.email = email; } public static void prepareTable(Dao dao) { Person p = dao.insert(new Person("zyy", "zyy@unknown.com", 0, 0, null)); dao.insert(new Profile(p.getId(), "JiLin")); p = dao.insert(new Person("yy", "yy@unknown.com", 1, 0, null)); dao.insert(new Profile(p.getId(), "Shulan")); p = dao.insert(new Person("ycs", "sm@163.com", 2, 0, null)); dao.insert(new Profile(p.getId(), "XiAn")); p = dao.insert(new Person("zzh", "zozohtnn@gmail.com", 3, 0, null)); dao.insert(new Profile(p.getId(), "BeiJing")); p = dao.insert(new Person("ydl", "youoo@129.com", 3, 0, null)); dao.insert(new Profile(p.getId(), "BeiJing")); p = dao.insert(new Person("Merry", "merry@zozoh.com", 0, 4, "zzh")); dao.insert(new Profile(p.getId(), "New York")); p = dao.insert(new Person("John", "john@zozoh.com", 0, 4, "zzh")); dao.insert(new Profile(p.getId(), "Hongkong")); } }