Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多对一搜索查询_Java_Jakarta Ee_Jpa_Persistence_Many To One - Fatal编程技术网

Java 多对一搜索查询

Java 多对一搜索查询,java,jakarta-ee,jpa,persistence,many-to-one,Java,Jakarta Ee,Jpa,Persistence,Many To One,我在JPA中面临一个关于多对一关系的问题。我现在遇到的问题是使用where子句获取数据 技能课程: @Id private long skillsID; @Basic private String longDescription; @Basic private String shortDescription; @Basic private String colOrder; @Basic private String

我在JPA中面临一个关于多对一关系的问题。我现在遇到的问题是使用where子句获取数据

技能
课程:

    @Id
    private long skillsID;
    @Basic
    private String longDescription;
    @Basic
    private String shortDescription;
    @Basic
    private String colOrder;
    @Basic
    private String isActive;
    @Basic
    private String changeDate;
    @ManyToOne(fetch=FetchType.EAGER)
    private Category category;
第二个实体是:

类别
类别:

    @Id
    private long categoryID;
    @Basic
    private String name;
    @Basic
    private String colOrder;
    @Basic
    private String isActive;
    @Basic
    private String changedDate;
    @OneToMany(mappedBy = "category")
    private Collection<Skills> skills;
JPA代码为:

Query q = em .createQuery("SELECT s.longDescription  from Skills s, Category c "+
"where s.categoryID =  c.categoryID");

那么,如何根据外键从
技能
类别
获取数据?

技能
实体中没有字段
类别ID

只需使用
查询
中的
类别
字段即可:

Query q = em .createQuery("SELECT s.longDescription from Skills s, Category c " +
                          "WHERE s.category =  c");

没有必要对我们大喊大叫。
Query q = em .createQuery("SELECT s.longDescription from Skills s, Category c " +
                          "WHERE s.category =  c");