【发布时间】:2017-06-18 09:21:38
【问题描述】:
我正在尝试使用休眠条件生成器加入 4 个表..
下面分别是表格..
`
@Entity
public class BuildDetails {
@Id
private long id;
@Column
private String buildNumber;
@Column
private String buildDuration;
@Column
private String projectName;
}
@Entity
public class CodeQualityDetails{
@Id
private long id;
@Column
private String codeHealth;
@ManyToOne
private BuildDetails build; //columnName=buildNum
}
@Entity
public class DeploymentDetails{
@Id
private Long id;
@Column
private String deployedEnv;
@ManyToOne
private BuildDetails build; //columnName=buildNum
}
@Entity
public class TestDetails{
@Id
private Long id;
@Column
private String testStatus;
@ManyToOne
private BuildDetails build; //columnName=buildNum
}
在这 4 个表中,我想为 MySQL 执行以下 sql 脚本:
SELECT b.buildNumber, b.buildDuration,
c.codeHealth, d.deployedEnv, t.testStatus
FROM BuildDetails b
INNER JOIN CodeQualityDetails c ON b.buildNumber=c.buildNum
INNER JOIN DeploymentDetails d ON b.buildNumber=d.buildNum
INNER JOIN TestDetails t ON b.buildNumber=t.buildNum
WHERE b.buildNumber='1.0.0.1' AND
b.projectName='Tera'
那么,如何使用 Hibernate CriteriaBuilder 来实现这一点?请帮忙...
提前谢谢.......
【问题讨论】:
-
第一个问题是,你真的需要在这里使用条件吗..这将是一个动态查询..还是只是参数会改变?
-
是的,我必须在这里使用 CriteriaBuilder.... 而且这里的参数也会改变
标签: java mysql hibernate hibernate-mapping hibernate-criteria