在Hibernate中使用Criteria API和注解连接两个表

mkshixfv  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(166)

我想用Hibernate注解和条件连接MySQL中的2个表,例如:
我有两个表,候选人和职务,每个表有两列:

  • 候选人:候选人ID和候选人名称
  • 作业:作业ID和作业名称
candidates                     jobs       
              candID    candName          jobID          jobName
                  1          abc                       1               job1
                  2          xyz                       2               job2

我需要在Hibernate的条件中创建一个查询,如下所示:

select candName  ,jobName    from candidates as c ,jobs as j  
 where c.candID = j.jobID where candName = abc and jobName=job1

查询的条件是什么,最重要的是我将在我的注解类中写什么(因为我使用Spring注解),我需要在我的applicationcontext.xml中写什么吗...
谢啦,谢啦
我将真的很高兴,如果你能帮助我,因为我正在努力的最后3天,它没有成功
谢谢

iyr7buue

iyr7buue1#

假设每个类层次结构有一个表,其中候选人和工作对应于它们的数据库实体

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);

相关问题