-1

モデルに oneToMany および ManyToOne マッピングがあります。

クラス ユーザー

@OneToMany (cascade = { CascadeType.REFRESH, CascadeType.DETACH }, fetch = FetchType.EAGER)
    private Set<Judgement> judgements;

クラス判定

@ManyToOne(cascade = { CascadeType.REFRESH, CascadeType.DETACH})
    @JoinColumn(name = "user_id")
    private User judge;

そしてDBでは、ユーザーと判断としてテーブルを作成する必要があります。コードを実行しようとすると、次のようなエラーが表示されました。

Caused by: org.postgresql.util.PSQLException: ERROR: relation "users_judgements" does not exist

テーブルusers_judgementsを手動で作成する必要があるということですか?jpaは自動的に関係を作成できませんか? RoRはそれを行うことができます...ありがとう。

4

1 に答える 1

0

JUDGMENT テーブルに USER テーブル user_id からの外部キーがある場合、別のテーブルを用意する必要はありません。それが @JoinColumn(name = "user_id") になります。

何か不足していないか確認してください。あなたの場合は「user」になる「 MappedBy 」属性が表示されません。

この記事をご覧ください。リンク先のページ 4 で、1 対多の関係について詳しく説明します。記事全体を読む価値があります。

http://www.javaworld.com/javaworld/jw-01-2008/jw-01-jpa2.html?page=4

また、同じチュートリアルのパート 1 は基本に適しています。

http://www.javaworld.com/javaworld/jw-01-2008/jw-01-jpa1.html

于 2012-05-08T11:00:15.250 に答える