Nesne türde bir dizi olabilir bir alan içeren bir nesne vardır. Bu nesne, alanın alt türleri için bir ayrımcı sütunuyla tek bir tabloda kodlanmıştır. Bu alt türlerin her biri, alanları üst nesneler tablosunda bir sütuna eşlenmiş olur. Bunu hazırda beklemede göremiyorum. Kod feryat, tablodaki alt tip verilere bakılmaksızın getSubfield()
için null değerini döndürür.hazırda Yerleştirilebilir Kalıtım
Şema
id type whosit whatsit +----+------+--------+---------+ | 1 | "A" | "test" | null | | 2 | "B" | null | "test" | +----+------+--------+---------+
Alan
@Entity
public class Parent {
protected @Id @GeneratedValue int id;
protected Subfield subfield;
public Subfield getSubfield() {return subfield;}
}
@Embeddable
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType.STRING)
public abstract class Subfield {}
@DiscriminatorValue("A")
public class TypeA extends Subfield {
public String whosit;
}
@DiscriminatorValue("B")
public class TypeB extends Subfield {
public String whatsit;
}
o possib
{id=1,subfield=null}
{id=2,subfield=null}
mi "üst p DAN SEÇİMİ s" Nesneleri le bu nesne modeliyle ne yapmak istediğimi ya da biraz daha yaratıcı olmamız gerekiyor (bu şema tercih edilmeyen eski bir veritabanıdır)
İş yerinde çalışan bir meslektaşım beni http://opensource.atlassian.com/projects/hibernate/browse/HHH-1910 adresine yönlendirdi. Sanırım desteklenmiyor = \ –