基于Hibernate Annotation的Query执行错误?

时间:2012-11-22 12:11:25

标签: 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)
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;}

TimetableVO类

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

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

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可以做到这一点..请帮我写查询......

1 个答案:

答案 0 :(得分:1)

hbm2ddl属性用于createupdate。或者手动打开控制台并发出CREATE声明。