は、私は現在、アプリケーションを作ってるんだと私はこのようになりますDBスキーマを作成から開始しました:多対多リレーションシップをマッピングするときに、なぜHibernateが追加のエンティティを生成していますか?
表すいくつかのテーブル(users_groups_maps、articles_tags_mapsのreported_articles、favourite_articlesとbrowse_later_articles)があります。多対多の関連性。逆の設定ファイルを作成してリバースエンジニアリングを開始したので、Javaクラスをそこから取り出せるようになりました(Annotations、JDK 5、EJB3、javax.persistence。* annotations)。 (そのよう警告、ユーザーなど)
基本的なテーブルはちゃんとしている(例えば
private Set<BrowseLaterArticles> browseLaterArticleses = new HashSet<BrowseLaterArticles>(0);
などのフィールドがありますが、私はそれだけで罰金だと思う - 私は、Hibernate初心者です)。
しかし、問題は(私が推測する)、それらの多対多の関係(例えばUserGroupsMapsコンストラクタは次のようになります。UserGroupsMapsIdは、ユーザIDとのgroupIdペアのラッパーです
public UsersGroupsMaps(UsersGroupsMapsId id, Users users, Groups groups) {
this.id = id;
this.users = users;
this.groups = groups;
}
、)で始まる
何か間違っているのですか、それとも別のコードにする必要がありますか? ManyToManyアノテーションがあることは知っていますが、なぜそれを使用して休止していないのですか?
//はまた、私はそれほど冬眠関連の質問を持っている - コメントとprivate_messagesテーブルに、同じテーブルを参照する必要があり、それらのparent__idフィールドが、あります。自分のテーブルに外部キーを作成しましたが、それが正しいかどうかはわかりません。どのように見えますか?このケアでは、同じ名前の2つのフィールドを生成します。 プライベートコメントコメント; Commentsクラスの
よろしく、 マルチン
イメージをアップロードすることができます:) – PhD
各* _mapsテーブルの 'Indexes'を展開し、再度イメージをキャプチャ/再アップロードしてください。 – lschin
Marcinこれはまさに私が抱えている問題です。 UserオブジェクトにはSetプロパティがあり、GroupにはSet が必要です。私が何をしていても、私はこれらの偽の中間物を手に入れます。 Reveng cfgウィザードには、選択した列のマッピングを調整するセクションがありますが、既に選択されているテーブルを使用するのではなく、スキーマ全体を最初から再フェッチするように愚かになったときに無視しました。それはどこに行くかのように見えます。 Dagnabbit、今私はこれがゾンビのスレッドであることに気付きました。 drat。 –
user1944491