2016-03-29 24 views
2

Eğer birincil anahtarı otomatik olarak oluşturmak istemiyorsam, kimliği birincil anahtar olarak tablonun ilk sütununa vermek istiyorum.@ JPA ve Hazırda Bekletme ek açıklamaları

2 A 
4 B 
7 D 
13 E 

...

l 2,4, 7, 13 tablonun birincil anahtar ilk sütunun. Ek açıklama yapmak için @Id kullanmalı mıyım?

@Entity 
public class Code { 
    @Id 
    @Column(unique=true) 
    private int id; 

    ... 
} 

Veya, @id kullanılırsa, birincil anahtar her zaman otomatik olarak yerine bu durumda, birinci sütunu kullanmak oluşacaktır? Birincil anahtarı yalnızca bildirecek olan

+2

'@ Id' işlevini kullanırsanız,' unique = true' gerekmez. –

cevap

1

@Id. oluşturulan değer eklenmeyecek. @GeneratedValue kullanırsanız, alanın değerini üretecektir.

+0

Birincil anahtar normal olarak otomatik olarak oluşturulsun mu? – user697911

+0

no ,, çünkü bir tabloda otomatik olarak oluşturulmamış birincil anahtar da olabilir – stinepike

0
object id (OID), object'u benzersiz olarak tanımlayan bir şeydir. Bir VM içinde bu genellikle object's işaretçisidir. İlişkisel database table'da, bir satır kendi tablosunda primary key ile benzersiz şekilde tanımlanmıştır.

Eğer objects için benzersiz bir tanımlayıcı gereken bir veritabanına objects devam eden, bu, object sorgulamak object için relationships tanımlamak ve güncelleme ve object silmenizi sağlar. JPA'da, nesne kimliği @Id ek notu aracılığıyla tanımlanır ve object's tablosunun primary key numarasına karşılık gelmelidir.

Bir object id, doğal bir kimlik veya üretilen bir kimlik olabilir. Doğal bir kimlik, object'da ortaya çıkan ve uygulamada bir anlamı olan bir kimliktir. Doğal kimlik örnekleri, e-posta adreslerini, telefon numaralarını ve sosyal sigorta numaralarını içerir. Oluşturulan bir kimlik (aynı zamanda bir temsilci kimliği olarak da bilinir) sistem tarafından oluşturulan birdir. JPA bir @Id olarak

kolayca @GeneratedValue açıklama boyunca oluşturulmuş bir sıra numarası tahsis edilebilir.

0

Her zaman varlıklarınız için birincil anahtar değerini el ile sağlıyorsanız, @Id ek açıklaması yeterlidir.

İlgili konular