有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数据库javaee命名查询连接

我有两个实体

   @Entity    
    public class Tabulka{

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

}

    @Entity
    public class VysledkyHraca{

    @ManyToOne
        private Tabulka tabulka;
.
.
.

    }

这将创建到表:id为的tabulka和。。。 和VysledkyHraca,id。。我是塔布尔卡

如果我想检索所有的tabulka。。。嗯,这很简单:

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

但现在我想检索所有的塔布尔卡,然后是VysledkyHraca的列表

我试过这个@NamedQuery(name = Tabulka.Q_GET_ALL_JOINTABULKY, query = "SELECT t FROM Tabulka t join t.vysledkyHraca"),但它不起作用。thx求救


共 (2) 个答案

  1. # 1 楼答案

    您仍然在第二个查询中选择Tabulkas。尝试:

     SELECT vh FROM Tabulka t join t.vysledkyHraca vh
    
  2. # 2 楼答案

    join需要别名

    如果您只想获取它,请使用“join fetch”(不带别名)