我正在使用Hibernate 4.3.6
我有一个名为StudyCase的实体,该实体与数据库中称为StudyCase的表映射
,我还得到了另一个实体名称Measurement,并映射到数据库中名为Measurement的表中。每个StudyCase对象都可以与许多Measurement对象相关联,问题是这样的。
我想将两个表映射到一个称为mergedEntity的新实体中,并使用来自两个表的集查询它,结果将是具有相同约束的Measurement对象具有一对一关系的对象列表,但也会分配它们所属的StudyCase对象的信息。
我在jpa春季做了一些类似的工作:
public List 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 result = this.jdbcTemplate.query(sql, new BeanPropertyRowMapper(MergeObject.class)) ;
return result ;
}
有什么办法可以使我使用休眠模式实现相同的目的。
谢谢 !
参考方案
使用Hibernate Documentation所说的,您必须做
@Entity
public class Troop {
@OneToMany(mappedBy="troop")
public Set getSoldiers() {
...
}
@Entity
public class Soldier {
@ManyToOne
@JoinColumn(name="troop_fk")
public Troop getTroop() {
...
}
这形成了双向关系