实际上在我的基于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可以做到这一点..请帮我写查询......
答案 0 :(得分:1)
将hbm2ddl
属性用于create
或update
。或者手动打开控制台并发出CREATE
声明。