3
내 프로젝트에서 합성 기본 키를 사용하여 createCriteria 쿼리를 작성하는 데 문제가 있습니다. ,어노테이션 기반 복합 기본 키로 Hibernate createCriteria 쿼리
나는 몇 가지 유사한 사례를 검색metricsID.project_id :하지 협회 : org.hibernate.QueryException -
@Entity
@Table(name="METRICS")
public class Metrics implements Serializable {
private static final long serialVersionUID = -2580493160757497919L;
@EmbeddedId
protected MetricsID metricsID;
@Column(name="PROJ_PERF")
private String proj_perf;
@Column(name="ANALYSIS")
private String analysis;
public String getProj_perf() {
return proj_perf;
}
public void setProj_perf(String proj_perf) {
this.proj_perf = proj_perf;
}
public String getAnalysis() {
return analysis;
}
public void setAnalysis(String analysis) {
this.analysis = analysis;
}
public MetricsID getMetricsID() {
return metricsID;
}
public void setMetricsID(MetricsID metricsID) {
this.metricsID = metricsID;
}
}
@Embeddable
public class MetricsID implements Serializable {
private static final long serialVersionUID = 4691163770334366543L;
@Column(name="PROJECT_ID")
private String project_id;
@Column(name="METRICS_NO")
private int metrics_no;
public String getProject_id() {
return project_id;
}
public void setProject_id(String project_id) {
this.project_id = project_id;
}
public int getMetrics_n0() {
return metrics_no;
}
public void setMetrics_no(int i) {
this.metrics_no = i;
}
}
@Override
@Transactional
public List<Metrics> viewMetrics(String project_id) throws Exception {
List<Metrics> metrics = (List<Metrics>)sessionFactory.getCurrentSession().
createCriteria(Metrics.class).createAlias("metricsID.project_id", "project_id_alias").
add(Restrictions.eqProperty("project_id_alias.project_id", project_id)).list();
return metrics;
}
I는 무엇입니까 오류 - 내 엔티티 클래스 & DAO 방법은 아래에서 언급 검색 결과 중 하나의 제안에 별칭을 사용했지만 별칭을 사용한 것은 처음입니다. 내가 도대체 뭘 잘못하고있는 겁니까?