我使用的是 Hibernate 4.3.6
我有一个名为 StudyCase 的实体,与数据库中名为 StudyCase 的表进行映射
,我还得到了另一个实体名称Measurement,它与数据库中名为Measurement的表进行了映射。每个 StudyCase 对象都可以与许多Measurement 对象相关联,问题是这样的。
我想将两个表映射到一个名为 mergedEntity 的新实体中,并使用两个表中的 clumns 对其进行查询,结果将是与具有相同约束的测量对象具有一对一关系的对象列表,但也会分配它们所属的 StudyCase 对象的信息。
我在 spring jpa 中做了一些类似的工作:
public List<MergeObject> searchMeasurement(String actualConditions)
{
jdbcTemplate = new JdbcTemplate(dataSource);
String sql = "select * from Measurement INNER JOIN StudyCase ON Measurement.study_case_number=StudyCase.study_case_number where "+actualConditions ;
List<MergeObject> result = this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<MergeObject>(MergeObject.class)) ;
return result ;
}
有什么方法可以使用 hibernate 实现同样的事情吗? 谢谢 !
最佳答案
使用 Hibernate 文档所说的,你必须这样做
@Entity
public class Troop {
@OneToMany(mappedBy="troop")
public Set<Soldier> getSoldiers() {
...
}
@Entity
public class Soldier {
@ManyToOne
@JoinColumn(name="troop_fk")
public Troop getTroop() {
...
}
这建立了双向关系
关于java - Hibernate映射一个类到两个表(两个表多对一关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702102/