简体   繁体   English

Java EE 命名查询连接

[英]Java EE named query join

I have two entities我有两个实体

   @Entity    
    public class Tabulka{

@OneToMany(mappedBy = "tabulka")
    private List<VysledkyHraca> vysledkyHraca;
.
.
.

}

and

    @Entity
    public class VysledkyHraca{

    @ManyToOne
        private Tabulka tabulka;
.
.
.

    }

this created to tables: tabulka with with id and... and VysledkyHraca with id.. and id_tabulka这创建到表:带有 id 和...的 tabulka 和带有 id.. 和 id_tabulka 的 VysledkyHraca

If I want to retrive all tabulka... well, it's pretty Easy:如果我想检索所有 tabulka ......好吧,这很容易:

@NamedQuery(name = Tabulka.Q_GET_ALL_TABULKY, query = "SELECT t FROM Tabulka t ")

but now I want to retrive all tabulka and then list of VysledkyHraca但现在我想检索所有 tabulka,然后列出 VysledkyHraca

I try this @NamedQuery(name = Tabulka.Q_GET_ALL_JOINTABULKY, query = "SELECT t FROM Tabulka t join t.vysledkyHraca") but it doesnt work.我试试这个@NamedQuery(name = Tabulka.Q_GET_ALL_JOINTABULKY, query = "SELECT t FROM Tabulka t join t.vysledkyHraca")但它不起作用。 thx for help谢谢帮助

join requires an alias加入需要别名

If you just want it fetched, use "join fetch" (with no alias)如果您只想获取它,请使用“join fetch”(没有别名)

You are still selecting Tabulkas in the second query.您仍在第二个查询中选择 Tabulkas。 Try:尝试:

 SELECT vh FROM Tabulka t join t.vysledkyHraca vh

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM