我有一个班级,位置。位置包含定义其边界的坐标列表。
@Entity
@Table(name="LOCATION")
public class Location implements Serializable {
private int id;
private List<Coordinates> coordinateList;
// setters and getters w/ mapping annotations
}
coordinateList与@OneToMany映射到包含坐标的表。
我想要做的是在Location类中添加四个字段(或Map):
是否可以使用自定义查询对这些字段进行注释以填充它们?即。
@CustomQueryOrSomething("select max(lat) from Coordinates C where C.location.id = " this.id)
public getMaxLat() {}
杰森
答案 0 :(得分:2)
要回答您的问题,我不认为有一种方法可以使用特定查询填充实体单个字段。您可以使用select为给定位置创建特殊的Range类/ Entity / Embeddable。
SELECT NEW com.bla.Range(max(lat), min(lat), max(long), min(long)) Coordinates C where C.location.id = :loc_id