首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javax.el.PropertyNotFoundException:在类型[com.rtc_insurance.model.Plan]上找不到属性[coverage_description]

javax.el.PropertyNotFoundException:在类型[com.rtc_insurance.model.Plan]上找不到属性[coverage_description]
EN

Stack Overflow用户
提问于 2018-09-23 23:06:45
回答 1查看 37关注 0票数 0

我是spring的新手,所以我还不完全了解如何进行自定义查询。我尝试了下面的代码,但它给了我一些错误。

我有两张表:

计划表

计划覆盖范围

我想用'TEST123‘plan_code获取所有计划覆盖范围的描述。

这是我当前的代码:

Plan.java

代码语言:javascript
复制
@Entity
@Table(name="plan")
public class Plan {
    /....

    @OneToMany(targetEntity=PlanCoverage.class, mappedBy="plan",cascade=CascadeType.ALL, fetch = FetchType.LAZY)
    private List<PlanCoverage> planCoverage;

    public List<PlanCoverage> getPlanCoverage() {
        return planCoverage;
    }

    public void setPlanCoverage(List<PlanCoverage> planCoverage) {
        this.planCoverage = planCoverage;
    }

    private String coverage_description;

    public String getCoverage_description() {
        return coverage_description;
    }

}

PlanCoverage.java

代码语言:javascript
复制
@Entity
@Table(name="plan_coverage")
public class PlanCoverage {

    @ManyToOne()
    @JoinColumn(name="plan_code", referencedColumnName = "plan_code",insertable=false, updatable=false)
    private Plan plan;

    public Plan getPlan() {
        return plan;
    }

    public void setPlan(Plan plan) {
        this.plan = plan;
    }

}

PlanRepository.java

代码语言:javascript
复制
public interface PlanRepository extends CrudRepository<Plan, String> {

    @Query(nativeQuery = true, value= "SELECT * FROM plan_coverage WHERE plan_code=:planCode")
    public List<Plan> findPlanCoverage(@Param("planCode") String planCode);
}

PlanController.java

代码语言:javascript
复制
@RequestMapping(value="/PlanDescription/{plan_code}", method=RequestMethod.GET)
    public ModelAndView planDescription(@PathVariable String plan_code) {
        ModelAndView model = new ModelAndView();
        Plan plan = planService.getPlanById(plan_code);
        model.addObject("planForm",plan);

        List<Plan> coverageList = planService.findByPlanCode(plan_code);
        model.addObject("coverageList",coverageList);

        model.setViewName("plan_description");
        return model;
    }

plan_description.jsp

代码语言:javascript
复制
<c:forEach items="${coverageList }" var="coverage">
  <span>${coverage.coverage_description}</span><br>
</c:forEach>

我想要访问覆盖率描述,但它给了我这个错误。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-09-23 23:13:50

您的实体“Plan”没有名为“coverage_description”的属性(或者简单地说是“getter方法”)。您需要首先定义它。只有“planCoverage”作为计划实体上的一个有用属性,才能在jsp页面中使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52467403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档