Java Hibernate条件:嵌套异常为org.Hibernate.QueryException:无法解析属性:

Java Hibernate条件:嵌套异常为org.Hibernate.QueryException:无法解析属性:,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我正在尝试从Issue表中获取与projectname和问题Id匹配的所有数据。我遇到以下错误。请帮帮我 桌子 项目 投射 项目名称 问题 问题ID 标识符 源状态 标题 严重程度 描述 Project.java @Entity @Table(name="project") public class Project implements Serializable { private static final long serialVersionUID = 245

我正在尝试从Issue表中获取与projectname和问题Id匹配的所有数据。我遇到以下错误。请帮帮我

桌子 项目 投射 项目名称

问题 问题ID 标识符 源状态 标题 严重程度 描述

Project.java

@Entity
    @Table(name="project")
    public class Project implements Serializable {

        private static final long serialVersionUID = 2457316470957669814L;
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        @Column(name="ProjectId")
        private Integer projectId;

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

        @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy = "project")
        private List<Issue> issue;

        //getters and setters
    }
@Entity
@Table(name="issue")
public class Issue implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="Id")
    private Integer Id;

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

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

    @Column(name="severity")
    private Integer severity;

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

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

    @ManyToOne
    @JoinColumn(name ="ProjectId")
    private Project project;

//getters and setters
  }
public List<Issue> getAllIssue(String identifier,String projectName) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Issue.class);
    criteria.createAlias("Project", "Prj");
    criteria.add(Restrictions.eq("identifier",identifier));
    criteria.add(Restrictions.eq("Prj.projectName",projectName));

    List<Issue> list=criteria.list();
    return list;
}
IssueDAOImpl.java

@Entity
    @Table(name="project")
    public class Project implements Serializable {

        private static final long serialVersionUID = 2457316470957669814L;
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        @Column(name="ProjectId")
        private Integer projectId;

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

        @OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy = "project")
        private List<Issue> issue;

        //getters and setters
    }
@Entity
@Table(name="issue")
public class Issue implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="Id")
    private Integer Id;

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

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

    @Column(name="severity")
    private Integer severity;

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

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

    @ManyToOne
    @JoinColumn(name ="ProjectId")
    private Project project;

//getters and setters
  }
public List<Issue> getAllIssue(String identifier,String projectName) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Issue.class);
    criteria.createAlias("Project", "Prj");
    criteria.add(Restrictions.eq("identifier",identifier));
    criteria.add(Restrictions.eq("Prj.projectName",projectName));

    List<Issue> list=criteria.list();
    return list;
}

标准.createAlias(“项目”、“Prj”)
更改为
标准.createAlias(“项目”、“Prj”)
。您试图为其创建别名的属性是project,因此应作为
createAlias
的第一个参数Project是类名。

您将Hibernate属性称为“ProjectId”,而不是“Project”

这应该是:

criteria.createAlias("ProjectId", "Prj");

你能发布ArchivalIssue类的内容吗?@Hedley抱歉我编辑了这篇文章。问题是我仍然无法获取数据。但是我没有收到任何错误。您能将hibernate的'show_sql'属性设置为true并在数据库上运行生成的sql吗?非常感谢。:)但我没有得到独特的价值观。获取项目中每个问题的重复项:(sql是否提供重复项?是的,我从sql获取重复值。我使用setResultTransformer获取唯一值。ThanksRequest处理失败;嵌套异常为org.hibernate.QueryException:无法解析属性:projectId of:com.dcm.search.bean.issue