Yanıtlar:
@Basic
bir özniteliğin kalıcı olacağını ve standart bir eşlemenin kullanılacağını belirtir. Özniteliğin tembel olarak yüklenip yüklenmeyeceğini ve boş değer atanabilir olup olmadığını belirlemenize izin veren parametrelere sahiptir.
@Column
özniteliğin kalıcı olacağı veritabanındaki sütunun adını belirlemenize olanak sağlar.
Birini diğeri olmadan belirtirseniz, mantıklı olan varsayılan davranışı elde edersiniz, bu nedenle genellikle insanlar özel durumlar haricinde yalnızca birini kullanır.
Öyleyse, bir özniteliğin tembel bir şekilde yüklenmesini istersek ve bir sütun adı belirtmek istersek diyebiliriz
@Basic(fetch=FetchType.LAZY)
@Column(name="WIBBLE")
Varsayılan, tembel olmayan davranışa ihtiyacımız @Column
olsaydı, o zaman sadece yeterli olurdu.
@ Djna'nın cevabına ek olarak , ve @Basic
ile karşılaştırılması gerektiğini de belirtmekte fayda var . Herhangi bir mülkte bunlardan yalnızca biri belirtilebilir.@OneToMany
@ManyToOne
@ManyToMany
@Column
ve @JoinColumn
veritabanı sütun özelliklerini açıklamak için bunlardan herhangi biri ile birlikte belirtilebilir.
Bunlar, birlikte kullanılabilen iki ek açıklama kümesidir, ancak aynı anda her kümeden yalnızca bir ek açıklama kullanılabilir.
Basic'in ilkel alanlar için tasarlandığını belirtmek gerekir.
http://en.wikibooks.org/wiki/Java_Persistence/Basic_Attributes
Temel nitelik, nitelik sınıfının String, Number, Date veya ilkel gibi basit bir tür olduğu bir niteliktir. Temel bir özniteliğin değeri, doğrudan veritabanındaki sütun değeriyle eşleşebilir.
Desteklenen türler ve dönüştürmeler, JPA uygulamasına ve veritabanı platformuna bağlıdır. Doğrudan bir veritabanı türüyle eşleşmeyen bir tür kullanan herhangi bir temel öznitelik, bir ikili veritabanı türüne serileştirilebilir.
JPA'da temel bir özelliği eşlemenin en kolay yolu hiçbir şey yapmamaktır. Başka ek açıklamaları olmayan ve diğer varlıklara referans vermeyen nitelikler, otomatik olarak temel olarak eşlenir ve hatta temel bir tür değilse bile serileştirilir. Öznitelik için sütun adı, öznitelik adıyla aynı şekilde, büyük harf olarak adlandırılır.
@Basic ek açıklaması JPA varlıklarına uygulanır ve @Column öğesi veritabanı sütunlarına uygulanır. @Basic ek açıklamasının isteğe bağlı özniteliği varlık alanının boş olup olmadığını tanımlar; diğer yandan,
@Basic
onsuz kullanabileceğini varsayıyorum@Column
, bu yüzdenoptional
venullable
özellikleri her ikisinde de var. Haklı mıyım