23 Temmuz 2018 Pazartesi

JPA @MapKey Anotasyonu

Giriş
Map'in Value nesnesinin hangi alanının key olacağını belirtir.

Örnek
Elimizde @OneToMany olan bir ilişki olsun.
@Entity
public class TemplatedDoc {

  @Id
  @Column(name = "DOC_ID")
  private Long docId;

  @OneToMany(mappedBy = "key.doc", cascade = CascadeType.ALL)
  @MapKey(name = "key")
  private Map<DocParameterBusinessKey, DocParameter> docParameters;

}
Şöyle yaparız.
@Entity
public class DocParameter {

  @Id
  private String oid;

  @Embedded
  private DocParameterBusinessKey key;

}


@Embeddable
@Data
public class DocParameterBusinessKey {
  ...
}

Hiç yorum yok:

Yorum Gönder