2010-11-17 8 views
11

Eğer sokulabilen ve güncellenebilir parametreler yok @PrimaryKeyJoinColumn(...), eğerJPA: @PrimaryKeyJoinColumn (...) @JoinColumn (..., insertable =?, Updatable =?) Ile aynıdır?

@JoinColumn(..., insertable = false, updatable = false) 

veya

@JoinColumn (..., insertable = aynıdır, JPA spec kaynaklanıyor olabilir doğru, güncellenebilir = doğru) Düzenli (miras dışı) derneklerde kullanıldığında,

Değiştirilebilirler mi? Takılabilir ve güncellenebilir özellikler nelerdir? Hiç bir şey ayarlamışlar mı? Not, sadece hedeflediğim salt okunur hem İşte

@PrimaryKeyJoinColumn JavaEE 5 var ... ...

Ben EclipseLink ile oldukça tutarsız haritalama istisna alıyorum uygulamak ve Derin Uyku (görünüyor) bu özellik + 6 Javadoc:

PrimaryKeyJoinColumn (JavaEE 5)
PrimaryKeyJoinColumn (JavaEE 6)

Alıntı:

... ve başvurucu varlığın birincil anahtarının başvurulan varlığa yabancı anahtar olarak kullanıldığı OneToOne eşlemesinde kullanılabilir.

+0

daha - eğer farklı versiyonları bire bir ilişki yapmak için thir önerisi bakmak API - ilişki oluşturma için daha çok "@ PrimaryKeyJoinColumn" kullanımını önermez. [java5] (http://docs.oracle.com/javaee/5/api/javax/persistence/OneToOne.html) vs [java6] (http://docs.oracle.com/javaee/6/api /javax/persistence/OneToOne.html) – msangel

cevap

13

Evet, ikisi eşdeğerdir.

JPA 2.0'da,eşlemesine bir @Id ekleyebilir ve yinelenen temel kimlik özniteliğinin tamamen kullanılmasını önleyebilirsiniz.

görün

+0

Teşekkürler! "Artık aynı yabancı anahtar sütunu için iki eşleştirmeniz olduğundan, veritabanına hangisinin yazılacağını tanımlamanız gerekir (Temel olanı olmalı), dolayısıyla OneToOne veya ManyToOne yabancı anahtar salt okunur olarak tanımlanmalıdır.Bu, JoinColumn öznitelikleri taklit ve yanlış dönüştürülebilir ayarlamak veya @JoinColumn yerine @PrimaryKeyJoinColumn kullanarak yapılır. " – Kawu

+0

Bu, EclipseLink için bir hata raporu dosyalamak zorunda kalacağım, çünkü @PrimaryKeyJoinColumn (...) ile @JoinColumn (..., insertable = false, updatable = false) değiştiğinde MappingExceptions ... – Kawu

+0

atar. : http://en.wikibooks.org/wiki/Java_Persistence/OneToOne#Target_Foreign_Keys.2C_Primary_Key_Join_Columns.2C_Cascade_Primary_Keys – Kawu