失败代码
@table("IP")
public class IP {
@Id(auto = false)
private Long id;
@Column
private String a;
@Column
private String b;
@Column
private String c;
@Column
private Date date;
@Column
private String cityName;
@One(target = City.class, field = "cityName")
private City city;
}
@table("City")
public class City {
@Id(auto = false)
private Long id;
@Column
private String countryName;
@One(target = Country.class, field = "countryName")
private Country country;
@Many(target = IP.class, field = "cityName")
private Set<IP> ips;
}
@table("Country")
public class Country {
@Name
private String country;
@Many(target = City.class, field = "countryName")
private Set<City> citys;
}
失败代码,运行
Ioc ioc = new NutIoc(new JsonLoader("module.json"));
Dao dao = ioc.get(NutDao.class, "dao");
dao.create(IP.class, true);
dao.create(City.class, true);
dao.create(Country.class, true);
失败代码报错
run:
log4j:WARN No appenders could be found for logger (org.nutz.ioc.loader.json.JsonLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.RuntimeException: Fail to find hostField for @many(field=cityName) 'ips' : class enzo.ad.jo.statistics.City<=>class enzo.ad.jo.statistics.IP
at org.nutz.lang.Lang.makeThrow(Lang.java:84)
at org.nutz.dao.impl.entity.field.ManyLinkField.(ManyLinkField.java:46)
at org.nutz.dao.impl.entity.AnnotationEntityMaker.make(AnnotationEntityMaker.java:198)
at org.nutz.dao.impl.EntityHolder.getEntity(EntityHolder.java:58)
at org.nutz.dao.impl.entity.field.AbstractLinkField.getLinkedEntity(AbstractLinkField.java:72)
at org.nutz.dao.impl.entity.field.OneLinkField.(OneLinkField.java:27)
at org.nutz.dao.impl.entity.AnnotationEntityMaker.make(AnnotationEntityMaker.java:194)
at org.nutz.dao.impl.EntityHolder.getEntity(EntityHolder.java:58)
at org.nutz.dao.impl.NutDao.create(NutDao.java:545)
at enzo.test.NewClass.main(NewClass.java:26)
Java Result: 1
成功生成(总时间:4 秒)
成功运行的代码,带有继承的
public class AD {
@Id(auto = false)
private Long id;
@Column
private Date buildDate;
@Column
private int duration;
@Column
private String title;
@Column
private String context;
@Column
private int visita;
@Column
private String userEmail;
@One(target = User.class, field = "userEmail")
private User user;
}
@table("Bed")
public class Bed extends AD {
@Column
private Double money;
@Column
private Date fromDate;
@Column
private String roomType;
@Column
private int numBed;
@Column
private String sex;
}
@table("Room")
public class Room extends AD{
@Column
private Double money;
@Column
private Date fromDate;
@Column
private String roomType;
}
@table("User")
public class User {
@Name
private String email;
@Column
private String password;
@Column
private String nome;
@Column
private String phone;
@Many(target = Bed.class, field = "userEmail")
private List<Bed> beds;
@Many(target = Room.class, field = "userEmail")
private List<Room> rooms;
}
成功运行代码
Ioc ioc = new NutIoc(new JsonLoader("module.json"));
Dao dao = ioc.get(NutDao.class, "dao");
dao.create(Bed.class, true);
dao.create(Room.class, true);
dao.create(User.class, true);
没有报错,成功运行,而且存取都没有问题