2013-01-10 14 views
5

Hazırda beklemede, birimin çeşitli özellikleri üzerinde @NaturalId kullanarak benzersiz bir anahtar oluşturabilirim.JPA eşdeğeri Hibernate's @NaturalId

javax.persistence'un bir parçası olan bir JPA eşdeğeri ek açıklama var mı?

cevap

6

Ne zaman yaptığım @Table(uniqueConstraints = @UniqueConstraint(columnNames={column_1, ..., column_n}))

+1

kullanarak sütunlarda benzersiz kısıtlama ekleyin Ve hazırda bekletme en NatuarlId – Manu

+2

ima ettiği gibi siz de bu bir @id sütun yerini almayacak, yanlış = null ayarlamak gerekir. Petr'in cevabı doğru. – Amalgovinus

+0

@Amalgovinus Sorulan soru, istenen çözümün benzersiz bir anahtar oluşturması gerektiğini ima etti. NaturalId notunun çalışmalarını tam olarak taklit etmek gerekli değildi. Cevabım açıkça sütunlara benzersiz kısıtlamalar eklediğimi belirtiyor, NaturalId ek açıklamasını değiştirdiğimi iddia etmiyorum. – Johanneke

3

Hayır, yok. Kompozit anahtarlar kullanmanız gerekecek, yani tercihinize bağlı olarak EmbeddedId veya IdClass.