我想在MySQL中使用Hibernate Annotations和Criteria加入2个表 例如:
我有2个表,候选人和工作,每个有2列:
职位:jobID& JOBNAME
candidates jobs
candID candName jobID jobName
1 abc 1 job1
2 xyz 2 job2
我需要在hibernate中的Criteria中创建一个查询:
select candName ,jobName from candidates as c ,jobs as j
where c.candID = j.jobID where candName = abc and jobName=job1
这将是什么标准查询,最重要的是我将在我的注释类中写什么(因为我使用的是spring注释)并且我需要在我的applicantioncontext.xml中编写任何内容......
由于
如果你可以帮助我,我将会非常感激,因为我在过去3天里一直在努力,但没有成功
感谢
答案 0 :(得分:0)
假设每个类Hierarchy的表,其中Candidates和Jobs对应于他们的数据库实体
public class Candidates{
//define Generative stretegy if this is primary key, and other JPA annotations, with cascade
private Long CandId;
//getters and setters
//define other properties here
}
/*Like wise for Jobs class */
我没有在IDE /编译器中检查,但它应该在下面
Criteria c1 = session.createCriteria(Candidates.class,candidate);
Criteria j1 = session.createCriteria(Jobs.class,jobs);
c1.setProjection(Property.forName(candName));
j1.setProjection(Property.forName(jobName));
c1.add(Restrictions.and(Property.eqName(candidate.candId,jobs.jobId)));
j1.add(Restrictions.and(jobs.jobName,"job1"));
c1.addCriterion(j1);