[英]How to map a search object to a class with more fields with JPA annotations
[英]Is there a way to map 2 database fields to a custom object in JPA?
目前,在我們的數據庫中,我們有兩個字段:location_lat和location_lng。 在Java中,我們會將這兩個字段映射為單獨的float變量。 在這種情況下,可以將這兩個單獨的float字段映射到一個對象(例如LatLng對象)中,以進行GET,PUT等操作...
通常,這兩個字段如下所示:
@Column(name = "location_lat")
private float lat;
@Column(name = "location_lng")
private float lng;
但是,最好能有一些類似的東西
@Column(name = "lat") AND @Column(name = "lng")
private LatLng location;
沿着他們的路線
當然。 你所尋找的是@Embeddable
和@Embedded
。
首先,注釋@Embeddable
的LatLng
類:
@Embeddable
public class LatLng {
@Column(name = "location_lat")
private float lat;
@Column(name = "location_lng")
private float lng;
}
要使用它:
@Embedded
private LatLng lat;
默認情況下,它會映射到定義的列@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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.