目前,在我们的数据库中,我们有两个字段:location_lat和location_lng。在Java中,我们会将这两个字段映射为单独的float变量。在这种情况下,可以将这两个单独的float字段映射到一个对象(例如LatLng对象)中,以进行GET,PUT等操作...
通常,这两个字段如下所示:
@Column(name = "location_lat")
private float lat;
@Column(name = "location_lng")
private float lng;
Run Code Online (Sandbox Code Playgroud)
但是,最好能有一些类似的东西
@Column(name = "lat") AND @Column(name = "lng")
private LatLng location;
Run Code Online (Sandbox Code Playgroud)
沿着他们的路线
当然。您正在寻找的是@Embeddable和@Embedded。
首先,@Embeddable在LatLng课堂上注明:
@Embeddable
public class LatLng {
@Column(name = "location_lat")
private float lat;
@Column(name = "location_lng")
private float lng;
}
Run Code Online (Sandbox Code Playgroud)
要使用它:
@Embedded
private LatLng lat;
Run Code Online (Sandbox Code Playgroud)
默认情况下,它将映射到中定义的列@Embeddable。覆盖它们以映射到其他列。您可以使用@AttributeOverrides:
@Embedded
@AttributeOverrides({
@AttributeOverride(name="lat", column=@Column(name="LAT_COLUMN_XXX")),
@AttributeOverride(name="lng", column=@Column(name="LNG_COLUMN_YYY"))
})
private LatLng lat;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |