2012-05-08 14 views
-1

私は私のモデルでoneToManyとManyToOneマッピングを持っている:JPA 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はそれを行うことができます...ありがとう。

+0

は、私はあなたには、休止状態を使用している意味します。 – raddykrish

答えて

0

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

何か不足していないかどうかを確認してください。あなたのケースでは "mappedBy"という属性は表示されません。

この記事をご覧ください。リンクがあなたを連想させる4ページ、一対多の関係についての詳細を教えてください。それは記事全体を読む価値があるでしょう。

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

また、同じチュートリアルのパート1は、基本的に適しています。あなたはJPAを結び付けるために使用しているORMフレームワーク

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

+1

@ user468587ここで解決されたマッピングを投稿できると便利です。 – mhan

関連する問題