关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 9744|回复: 1

[系统权限] 实现类似菜单管理的多级添加功能的问题

[复制链接]
发表于 2013-9-25 14:37:29 | 显示全部楼层 |阅读模式
本帖最后由 月白清风 于 2013-9-25 15:32 编辑

欲实现类似如菜单管理里面的添加下级菜单功能,其中有一个需要在实体类中添加一对多的关联,代码如下:
  1. private List<FinLoanTypeEntity> FinLoanTypeEntitys = new ArrayList<FinLoanTypeEntity>();
  2.         private FinLoanTypeEntity FinLoanTypeEntity;//父菜单

  3.         @ManyToOne(fetch = FetchType.LAZY)
  4.         @JoinColumn(name = "parent_Id")
  5.         public FinLoanTypeEntity getFinLoanTypeEntity() {
  6.                 return this.FinLoanTypeEntity;
  7.         }

  8.         public void setFinLoanTypeEntity(FinLoanTypeEntity FinLoanTypeEntity) {
  9.                 this.FinLoanTypeEntity = FinLoanTypeEntity;
  10.         }

  11.         @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "FinLoanTypeEntity")
  12.         public List<FinLoanTypeEntity> getFinLoanTypeEntitys() {
  13.                 return FinLoanTypeEntitys;
  14.         }

  15.         public void setFinLoanTypeEntitys(List<FinLoanTypeEntity> FinLoanTypeEntitys) {
  16.                 this.FinLoanTypeEntitys = FinLoanTypeEntitys;
  17.         }
复制代码
在启动之后,会报错如下:
Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.lefu.entity.loan.FinLoanTypeEntity.FinLoanTypeEntity in com.lefu.entity.loan.FinLoanTypeEntity.finLoanTypeEntitys

这个问题应该怎么解决呢?是否注释没写对?

补充说明:
  1. @RequestMapping(params = "datagrid")
  2.         @ResponseBody
  3.         public List<TreeGrid> datagrid(HttpServletRequest request, TreeGrid treegrid) {
  4.                 CriteriaQuery cq = new CriteriaQuery(FinLoanTypeEntity.class);
  5.                 if (treegrid.getId() != null) {
  6.                         cq.eq("FinLoanTypeEntity.id", treegrid.getId());
  7.                 }
  8.                 if (treegrid.getId() == null) {
  9.                         cq.isNull("FinLoanTypeEntity");
  10.                 }
  11.                 List<FinLoanTypeEntity> finLoanTypeList = systemService.getListByCriteriaQuery(cq, false);
  12.                 List<TreeGrid> treeGrids = new ArrayList<TreeGrid>();
  13.                 TreeGridModel treeGridModel = new TreeGridModel();
  14. //                treeGridModel.setIcon("typeCode");
  15.                 treeGridModel.setTextField("typeName");
  16.                 treeGridModel.setParentText("FinLoanTypeEntity_typeName");
  17.                 treeGridModel.setParentId("parentId");
  18.                 treeGridModel.setSrc("cusType");
  19.                 treeGridModel.setIdField("id");
  20.                 treeGridModel.setChildList("FinLoanTypeEntitys");
  21.                 //添加排序字段
  22.                 treeGridModel.setOrder("cusType");
  23.                 treeGrids = systemService.treegrid(finLoanTypeList, treeGridModel);
  24.                 return treeGrids;
  25.         }
复制代码
 楼主| 发表于 2013-9-25 15:43:02 | 显示全部楼层
【已解决】
需要注意:@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "finLoanTypeEntity"),这里的mappedBy 应该对应的是定义的参数,而非实体类的类名。。即需要小写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表