hazırda JPA OneToOne ilgili olarak db masaya ekliyor Product
->SkuImpl
->SkuAvailabilityImpl
kayıtları SkuAvailability
tabloyaEkstra sütun ben OneToOne İlişkisi Üzerine Üç varlık sınıf var
sku
tabloya ekleme yüzden ben sadece bir ürün eklemeniz gerekir
SkuImpl.java
@Entity
public class SkuImpl implements Sku {
@OneToOne(targetEntity=SkuAvailabilityImpl.class, cascade={cascadeType.ALL},fetch=FetchType.EAGER)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
@LazyCollection(LazyCollectionOption.FALSE)
protected SkuAvailability totalSku;
//setter and getters
}
SkuAvailabilityImpl.java
Tüm kayıtlar ince takmadan, ancak buradaki sorun, extra sütun gibi adıylatotalSku_SKU_AVAILABILITY_ID
Yukarıdaki tablo üzerinde ekliyor is
SKU_ID | NAME | QUANTITY | SKU_AVAILABILITY_ID
--------+--------+----------+--------------------
| | |
@Entity
public class SkuAvailabilityImpl implements SkuAvailability{
@OneToOne(optional=true,targetEntity=SkuImpl.class)
@Cascade(value={org.hibernate.annotations.CascadeType.ALL})
@JoinColumn(name="SKU_ID", referencedColumnName='SKU_ID',insertable=false,updatable=false)
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
protected Sku sku;
//setter and getters
}
SKU veritabanı tablosu aşağıda
SKU_ID | NAME | QUANTITY | SKU_AVAILABILITY_ID |totalSku_SKU_AVAILABILITY_ID
--------+--------+----------+--------------------
101 |product1| 200 | | 503
Bu sütunu silmeyi denedim, ancak tekrar oluşturuyor. Bu sütunun neden eklendiğini anlamıyorum, kimse bunu nasıl durdurabilirim?
"SkuImpl.totalSku" alanı için sütun adını tanımlamadınız, böylece kendi sütun adını tanımlar. @JoinColumn –
@Neil Stockton, çok teşekkür ederim 'JoinColumn' sorunum çözüldü, –
bunu duyduğuma sevindim. cevap olarak eklediniz böylece kabul edebilirsiniz –