Hepsi aynı alanları (tam olarak) olan 3 kalıcı sınıfı var 1) sınıf adı, 2) tablo adı ve 3) veri. Bunun biraz garip gelebileceğinin farkındayım ama bana güvenmeyeceğim iyi bir sebep var. ..javax.persistence ek açıklamaları ve kalıtım
@Entity
@Table(name = "store")
public class Store
{
@Id
@Column(name = "unique_id")
protected String id;
@Column
protected String category;
...
}
ve bu tek tek başına sınıf için ise birçok alanlar bulunur, çalışır:
şimdi, ben çok gibi çalışması gerekir benim sınıf yapılandırmak için ek açıklamaları hazırda bekleme kullanıyorum yani, harita ve ben her dört benzer sınıflar için bir vuruşta hepsini yapmak istiyorum: Ancak
public class StoreBase
{
@Id
@Column(name = "unique_id")
protected String id;
@Column
protected String category;
...
}
@Entity
@Table(name = "store1")
public class Store1 extends StoreBase
{}
@Entity
@Table(name = "store2")
public class Store2 extends StoreBase
{}
@Entity
@Table(name = "store3")
public class Store3 extends StoreBase
{}
@Entity
@Table(name = "store4")
public class Store4 extends StoreBase
{}
bu girişimi sırasında ı aşağıdaki özel durum alıyorum:
Caused by: org.hibernate.AnnotationException: No identifier specified for entity: package.entities.Store1
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:672)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
Bunun, süper sınıfın tanımlayıcı için aranmadığı için olduğunu tahmin ediyorum?
Bu bağlamda mirastan yararlanmanın bir yolu var mı?
Teşekkürler, Paul.
etiketleri değiştirildi. Bu hazırda bekletme ek açıklamaları ile ilgili değil, hazırda bekleme modundayken jpa hakkında –