1

実際、私のHibernate Annotationベースのアプリケーションには、3つの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クラスを拡張しているため、主キーの作成に問題はありません。

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

それから私は'java'のような:courseNameを与えていますそしてそれは そうですそれは正しいです私はValueObjectsに従って3つのテーブルを作成しているだけです...しかしhibernateはこれを行うことができます..クエリを書くのを手伝ってください... error SKILLSET_COURSE table not exist

4

1 に答える 1

1

またはhbm2ddlプロパティを使用します。または、コンソールを手動で開き、ステートメントを発行します。createupdateCREATE

于 2012-11-22T12:17:30.637 に答える