6 Haziran 2018 Çarşamba

JPA @MapKeyJoinColumn Anotasyonu

Giriş
3 tane entity olması gerekir. Map veriyapısının key tipinin ana nesne ile nasıl birleşeceğini belirtir.

@MapKey kullanımında ise 2 tane entity vardır ve Map veriyapısının value tarafındaki nesnenin hangi alanının key olarak kullanılacağı belirtilir.

Örnek
Şöyle yaparız.
@Entity
@Table
public class EmbeddingObject {

  ...
  @ElementCollection(fetch = FetchType.EAGER)
  @Column(name = "embedding_id")
  @CollectionTable(name="embeddingObjcetTable_fileData",
    joinColumns = {@JoinColumn(name = "embedding_id", referencedColumnName = "id")}))
  @MapKeyJoinColumn(name = "file_id")
  private Map<File, FileData> fileDataMapping;  <-- HERE
}

Hiç yorum yok:

Yorum Gönder