内容支持 Markdown 语法, 使用菜单栏的代码块标注代码,不要上传代码的截图!!
/**
* 实体
*/
public class RoleMenu{
@Column("menu_id")
private String menuId;
@One(target = Menu.class, field = "menuId")
private Menu menu;
/*其他省略*/
}
/**
* 根据角色查询菜单
* @param roleId
* @return
*/
public List<RoleMenu> menuTree(String roleId){
Cnd cnd = Cnd.where("role_id", "=", roleId);
List<RoleMenu> list = roleMenuDao.search(RoleMenu.class, cnd);//查询中间表
roleMenuDao.findLink(RoleMenu.class, "menu");//查询关联数据
return list;
}
/**
* 获取关联对象
* @param <T>
* @param t 查询的对象
* @param fieldName 关联的对象
* @return T
*/
public <T> T findLink(T t,String fieldName){
return dao.fetchLinks(t, fieldName);
}
错误如下:
org.nutz.dao.DaoException: Need non-arg constructor : class java.lang.Class
at org.nutz.dao.impl.entity.NutEntity.(NutEntity.java:211)
at org.nutz.dao.impl.entity.AnnotationEntityMaker._createNutEntity(AnnotationEntityMaker.java:551)
at org.nutz.dao.impl.entity.AnnotationEntityMaker.make(AnnotationEntityMaker.java:89)
at org.nutz.dao.impl.EntityHolder.getEntity(EntityHolder.java:65)
at org.nutz.dao.impl.EntityHolder.getEntityBy(EntityHolder.java:180)
at org.nutz.dao.impl.NutDao._optBy(NutDao.java:919)
at org.nutz.dao.impl.NutDao$10.invoke(NutDao.java:592)
at org.nutz.lang.Lang.each(Lang.java:1481)
at org.nutz.dao.impl.NutDao.fetchLinks(NutDao.java:589)
at org.nutz.dao.impl.NutDao.fetchLinks(NutDao.java:583)
at edu.taru.publics.base.BasicDao.findLink(BasicDao.java:392)