基于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
属性来create
或update
。 或者手动打开控制台并发出CREATE
语句。