Bonjour à tous,
Soit la classe abstraite (cf le code à la fin) Test0
Soit les classe Test1 et Test2 deux classes étendant la classe Test0
Les classe Test1 et Test2 sont mappées de façon à pointer sur respectivement, les tables Table1 et Table2
question :Est il possible de faire récuperer tous les enregistrments des tables Tes1 et Test2 en une seule requette grace à la classe Test0 ?
D'apres ce que j'ai lu, il semblerait que cela soit tout à fait possible, malheureusement j'ai du rater une étape car j'ai l'exception suivante :
org.hibernate.hql.ast.QuerySyntaxException: Test0 is not mapped [from Test0 test0 where test0.name=:nameEtude]
vous trouverez les trois classes ci dessous , ainsi que la methode ou j'execute ma requette sur la base de données.
si quelqu'un avait une réponse ou même une piste ...
Par avance merci
Bonne journée
@MappedSuperclass
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Test0 extends PersistantModelReplicable {
static Logger log = Logger.getLogger(Test0.class);
String name;
@Column(name = "NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
====================================================
@Entity
@Table(name = "Table1")
public class Test1 extends Test0 {
static Logger log = Logger.getLogger(Test1.class);
public Test1(){
}
}
================================================
@Entity
@Table(name = "Table2")
public class Test2 extends Test0 {
static Logger log = Logger.getLogger(Test2.class);
public Test2(){
}
}
=============================================
Test0 test0 = (Test0) getSession().createQuery("from Test0 test0 where test0.name=:nameEtude").setString("nameEtude","NomEtude").uniqueResult();


désolé j'ai fait une erreur de frappe dans ma question :
Dans
question :Est il possible de faire récuperer tous les enregistrments des tables Tes1 et Test2 en une seule requette grace à la classe Test0 ?il faut remplacer Test1 et TesT2 par Table1 et Table2