Nutz dao.fetch时,空指针
Master m = dao.fetchLinks(dao.fetch(Master.class, 6), "pets");
Exception in thread "main" org.nutz.dao.DaoException: java.lang.NullPointerException
at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:76)
at org.nutz.dao.impl.DaoSupport._exec(DaoSupport.java:197)
at org.nutz.dao.impl.NutDao.fetch(NutDao.java:443)
at nutz.with.TestWithMain.updateLinks(TestWithMain.java:81)
at nutz.with.TestWithMain.main(TestWithMain.java:29)
Caused by: java.lang.NullPointerException
at org.nutz.dao.impl.entity.NutEntity.getObject(NutEntity.java:198)
at org.nutz.dao.impl.sql.pojo.PojoFetchEntityCallback.invoke(PojoFetchEntityCallback.java:14)
at org.nutz.dao.impl.jdbc.NutPojo.onAfter(NutPojo.java:108)
at org.nutz.dao.impl.sql.run.NutDaoExecutor._runSelect(NutDaoExecutor.java:156)
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:42)
at org.nutz.dao.impl.DaoSupport$DaoExec.invoke(DaoSupport.java:242)
at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:64)
... 4 more
dao.fetch时,报空指针,后来发现是由于Master类,缺少默认的构造方法导致的(因为我写了一个带参数的构造方法)
@Table("aa_master")
public class Master {
@Id(auto = false)
@Prev(@SQL(value = "select aa_master_s.nextval from dual"))
@Column
private int id;
@Column
private String name;
@Column
private int age;
@Many(field = "masterid", target = Pet.class)
List<Pet> pets = new ArrayList<Pet>();
//必须有默认的构造方法,不然fetch时出错
public Master() {
}
public Master(String name, int age) {
this.name = name;
this.age = age;
}