簡體   English   中英

有沒有一種方法,以2個數據庫字段映射到JPA的自定義對象?

[英]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

首先,注釋@EmbeddableLatLng類:

@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM