微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

休眠:消息请求处理失败;嵌套异常是 org.hibernate.QueryException: not an association: name

如何解决休眠:消息请求处理失败;嵌套异常是 org.hibernate.QueryException: not an association: name

道:

    @Override
public List<DailyReport> serach(DailyReport dailyreport) {
        Integer empId=dailyreport.getEmployee().getEmp_id();
    String name=dailyreport.getEmployee().getName();
    String designation=dailyreport.getEmployee().getDesignation();
        String task_type=dailyreport.getTask_type();
        
         
    Criteria criteria= session.getCurrentSession().createCriteria(DailyReport.class);
    criteria.setFetchMode("employee.name",FetchMode.EAGER);
    Criteria criteriaP = criteria.createCriteria("employee.name");
    criteriaP.add(Restrictions.eq("employee.name",dailyreport.getEmployee().getName()));

Employee.java:

                  @Entity
              @Table(name="employee")
             public class Employee {

             @Id
             @GeneratedValue(strategy = GenerationType.AUTO)
             @Column(name="emp_id")

             private Integer emp_id;

            @Column(name="name")
            private String name;

            @Column(name="designation")
            private String designation;

            @Column(name="location")
            private String location;

            @Column(name="employee_type")
            private String employee_type;

           @OnetoMany(mappedBy="employee",fetch = FetchType.EAGER)


           private Set<DailyReport> dailyreport;


           public Employee() {}

           public Employee(String name,String designation,String location,String 
           employee_type) {

           this.name = name;
          this.designation = designation;
          this.location = location;
         this.employee_type = employee_type;

          }//setters and getters

每日报告.java:

               @Entity
          @Table(name="daily_report")
          public class DailyReport  {
          @Id
          @Column(name="id")
          @GeneratedValue(strategy=GenerationType.AUTO)
          private Integer id;

          @Column(name="date")
          private Date date;

          @Column(name="task_type")
          private  String task_type;

          @Column(name="description")
          private String description;

         @ManyToOne(fetch = FetchType.EAGER)
         @JoinColumn(name="employee_id")
         private Employee employee;
         public DailyReport() {}
         public DailyReport(Date date,String task_type,String description,Employee 
     employee) {
    super();
    this.date = date;
    this.task_type = task_type;
    this.description = description;
    this.employee = employee;
}

我有 2 个表 Employee 和 Daily Report,它们具有一对多的关系。当我使用“name”进行搜索操作时,我收到以下错误消息: 消息请求处理失败;嵌套异常是 org.hibernate.QueryException: 不是关联:名称

请任何人帮助我解决问题。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。