基于Hibernate Annotation的Query执行错误?

实际上在我的基于Hibernate Annotation的应用程序中有这些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 course;} 

TimetableVO类

 public class TimetableVO{ @ManyToOne @JoinColumn(name="SKILLSET_ID", insertable=false, updatable=false) private SkillsetVO skillsetSID; } 

注意上面的代码Primarikey名为S_ID包含另一个名为AbstractVO的类,所以我的所有类都扩展了这个AbstractVO类,所以在主键上没有问题…现在在我的业务逻辑中我编写了一个查询:

 select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames) 

然后我给予:courseName喜欢’java’然后它给出error SKILLSET_COURSE table not exist是的它是正确的我只是根据ValueObjects创建三个表…但是hibernate可以做到这一点..请帮我写查询…

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