18 Ekim 2018 Perşembe

JPA @Id Anotasyonu

Giriş
Şu satırı dahil ederiz.
import javax.persistence.Id;
Her @Entity ile işaretli sınıfın @Id anotasyonuna yani primary key alanına sahip olması gerekir. Eğer bu anotasyon yoksa şu exception fırlatılır.
No identifier specified for entity: com.foo.bar
Composite primary key için bu anotasyon yerine @IdClass kullanılır. Hibernate birden fazla @Id anotasyonuna izin veriyor ancak bu kullanım JPA uyumlu değil. Açıklaması şöyle.
Another, arguably more natural, approach is to place @Id on multiple properties of your entity. This approach is only supported by Hibernate (not JPA compliant) but does not require an extra embeddable component.
Örnek
Eğer @Id için GeneratedValue kullanmak istemezsek şöyle yaparız. Bu durumda primary key değerlerini kendimiz yönetiriz.
@Id
@Column(unique=true)
private int id;


Hiç yorum yok:

Yorum Gönder