实际上,在我的基于 Hibernate Annotation 的应用程序中有 ValueObject 类(Bean 类),这些是..
public Class CourseVO{
@Column(name="NAME")
private String name;
}
技能组VO类
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;}
时间表VO类
public class TimetableVO{
@ManyToOne
@JoinColumn(name="SKILLSET_ID", insertable=false, updatable=false)
private SkillsetVO skillsetSID;
}
注意上面称为 S_ID 的代码 Primarikey 包含另一个名为 AbstractVO 的类,所以我的所有类都扩展了这个 AbstractVO 类,所以主键创建没有问题......现在在我的业务逻辑中我写了一个查询:
select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames)
然后我给出 :courseName like 'java' 然后给出
是的,这是正确的,我只根据 ValueObjects 创建三个表...但是休眠可以做到这一点..请帮我写查询... error
SKILLSET_COURSE table not exist