6

私は冬眠に慣れてきましたが、時々つまずきます。これは別のものです。

私は次のことを達成しようとしています:

@OneToMany
@JoinTable(name = "inter_spec",
        joinColumns = { @JoinColumn(name = "inter_id") },
        inverseJoinColumns = { @JoinColumn(name = "spec_id") })
@WhereJoinTable(clause = "spec_type=SECTION")
public List<Section> getSections() {
    return sections;
}

しかし、単体テストを実行すると、次のエラーが発生します。

[エラー] JDBCExceptionReporter - 列 "SECTIONS0_.SECTION" が見つかりません。SQL ステートメント:

Where 句を適用して、List セクションに SECTION タイプのデータのみが含まれるようにするだけです。

Where 句を削除すると、単体テストに合格すると、List のアサーションに期待されるデータが含まれます。

読んでくれてありがとう。

4

1 に答える 1

9

ああ、これはいつも起こります、私が質問を投稿するとすぐに私はそれを理解します!!

基本的に、Where句のSECTIONはJavaコードの列挙型であるため、次のようになります。

@WhereJoinTable(clause = "spec_type='SECTION'")

以前はなかったSECTIONの周りの一重引用符に注意してください!

于 2011-02-14T14:51:44.273 に答える