休眠:消息请求处理失败;嵌套异常是 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 (将#修改为@)