Ajouter un commentaire

testeurforme
Mapping d'une classe abtraite sur deux tables

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();

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 U   U  FFFF  TTTTTT   GGG    QQQ   
U U F TT G Q Q
U U FFF TT G GG Q Q
U U F TT G G Q QQ
UUU F TT GGG QQQQ
Q