在OpenJPA中将字段映射到自定义查询

问题描述

| 我有一堂课,地点。位置包含定义其边界的坐标列表。
@Entity
@Table(name=\"LOCATION\")
public class Location implements Serializable {

   private int id;
   private List<Coordinates> coordinateList;

   // setters and getters w/ mapping annotations

}
ordinateList与保存坐标的表映射为@OnetoMany。 我想做的是在Location类中添加四个字段(或Map): maxLat(最大纬度) minLat(最小纬度) maxLng(等) 分钟 是否可以使用自定义查询注释此字段以填充它们?即
@CustomQueryOrSomething(\"select max(lat) from Coordinates C where C.location.id = \" this.id)
public getMaxLat() {}
杰森     

解决方法

        要回答您的问题,不,我不认为有一种方法可以用特定查询填充实体单个字段。您可以使用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
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...