Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 基于Hibernate注释的查询执行错误?_Java_Hibernate_Jpa_Annotations_Hql - Fatal编程技术网

Java 基于Hibernate注释的查询执行错误?

Java 基于Hibernate注释的查询执行错误?,java,hibernate,jpa,annotations,hql,Java,Hibernate,Jpa,Annotations,Hql,实际上,在我的基于Hibernate注释的应用程序中,有一些ValueObject类(Bean类),它们是 public Class CourseVO{ @Column(name="NAME") private String name; } SKillsetVO类 public Class SkillsetVO{ @ManyToOne @JoinColumn(name="COURSE_ID", insertable=false, updatable=false)

实际上,在我的基于Hibernate注释的应用程序中,有一些ValueObject类(Bean类),它们是

public Class CourseVO{
       @Column(name="NAME")
    private String name;
    }
SKillsetVO类

public Class SkillsetVO{
@ManyToOne
@JoinColumn(name="COURSE_ID", insertable=false, updatable=false)
private CourseVO courseSID;
@ManyToMany(cascade = {CascadeType.ALL}, fetch=FetchType.EAGER)
    @JoinTable(name="SKILLSET_COURSE",joinColumns={@JoinColumn(name="SKILLSET_ID",referencedColumnName="S_ID")},inverseJoinColumns={@JoinColumn(name="S_ID")})
  private Set<CourseVO> course;}
注意上述名为S_ID的代码Primarikey包含另一个名为AbstractVO的类,因此我的所有类都扩展了这个AbstractVO类,所以主键标记没有问题。。。 现在,在我的业务逻辑中,我编写了一个查询:

select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames)
然后我给出:courseName类似于“java”,然后它给出
错误
技能集\u课程表不存在


是的,这是正确的,我只根据ValueObjects创建了三个表…但hibernate可以做到这一点…请帮助我编写查询

使用
hbm2ddl
属性
创建
更新
。或者手动打开控制台并发出
CREATE
语句。

使用
hbm2ddl
属性来
CREATE
update
。或者手动打开控制台并发出
CREATE
语句。

感谢您的重播。。。但在前面的文章中,我也在执行相同的查询结构和值对象注释,但没有给出任何错误,为什么?现在只给出错误?我想我的查询有问题,或者我错过了values对象类中的注释…试试这个
@JoinTable(name=“SKILLSET\u-COURSE”,joinColumns={@JoinColumn(name=“SKILLSET\u-ID”)},inverseJoinColumns={@JoinColumn(name=“COURSE\u-ID”)}
或者改为
FetchType.LAZY
,这样你就不必加载孤立项了。谢谢你的重播。。。但在前面的文章中,我也在执行相同的查询结构和值对象注释,但没有给出任何错误,为什么?现在只给出错误?我认为我的查询有问题,或者我错过了values对象类中的注释…试试这个
@JoinTable(name=“SKILLSET\u-COURSE”,joinColumns={@JoinColumn(name=“SKILLSET\u-ID”)},inverseJoinColumns={@JoinColumn(name=“COURSE\u-ID”)}
或者改为
FetchType.LAZY
,这样你就不必加载孤儿。
select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames)