SORU
17 EKİM 2008, Cuma


Hangi açıklama kullanmalıyım: @İdClass Embeddedİd

Bu JPA (Java Sebat API) şartname varlık bileşik anahtarları belirtmek için 2 farklı yolu vardır: ve @Embeddedİd İdClass. @

Eşlenen benim ilgilendiğim iki ek açıklamalar kullanıyorum, ama JPA ile çok aşina olmayan insanlar için büyük bir karışıklık olduğu ortaya çıkıyor.

Bileşik anahtarları belirtmek için tek bir yolu evlat edinmek istiyorum. Hangisi gerçekten en iyisi bu mu? Neden?

CEVAP
17 EKİM 2008, Cuma


@EmbeddedId @IdClass ile tamamı birincil anahtar nesne, herhangi bir alan erişim operatörü kullanarak erişim çünkü muhtemelen daha ayrıntılı olduğunu düşünüyorum. Bu gibi yapabilirsin @EmbeddedId kullanarak:

@Embeddable class EmployeeId { name, dataOfBirth }
@Entity class Employee {
  @EmbeddedId EmployeeId employeeId;
  ...
}

Bu çukur alan erişim operatörü erişilen bir sınıfta toplanmış olduğu bir kompozit anahtar yapma alanları net bir fikir verir.

@IdClass @EmbeddedId başka bir fark HQL yaz gelince

@IdClass ile yazmak:

select e.name from Employee e

@EmbeddedId ile yazmak zorunda:

select e.employeeId.name from Employee e

Daha fazla metin yazmak için aynı sorgu için. Bazı bu IdClass tarafından terfi gibi daha doğal bir dil farklı olduğunu iddia edebilir. Ama bazen anlamak hakkının en değerli yardım, belirli bir alan bileşik anahtarın bir parçası ise bu sorgudan.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • MisterBrightside

    MisterBright

    24 Mart 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006