1

私は小さなプロジェクトを実装していますが、ORMLite が@DatabaseMappings の逆マッピングをサポートしているかどうか疑問に思っています。私が探しているのは、これが JPA/Hibernates の逆マッピングに似ていることです。次の、仮説的でかなりばかげた例、 table BlogPost:

@データベーステーブル
公開クラスのブログ投稿 {
  @DatabaseField(foreign = true)
  私的な著者の所有者;
}

およびそれに応じたAuthorクラス、実際にはそれほど重要ではありません:

@DatabaseTable public class Author { }

これにより、次の SQL が生成されます (関連する部分のみ)。

CREATE TABLE blogpost ( ... , owner_id INTEGER NOT NULL, ... ) CREATE TABLE author ( ... )

テーブル blogpost が author の外部キーを持つようになった方法を確認してください。ただし、私は逆の方がいいと思います。つまり、作成者は blogpost_id 外部キーを持つ必要があります。(ばかげた例だと言いました... ;)。

逆マッピングを使用すると、削除にカスケードを利用できますが、これに関する ORMlite ドキュメントには何も見つかりませんでした。それは機能ではありませんか、それとも何か足りないだけですか?

4

1 に答える 1

1

私はその質問に少し混乱していますが、とにかく答えようと思いました。

それがどのように機能するのか理解できません@ilikeorangutans。1 人の著者に対して複数のブログ投稿があると思いますか? blogpost_idでは、どのようにしてアカウント チャネルにシングルがあるのでしょうか? author_idとを含む結合テーブルを作成できますが、blogpost_id複雑さが増します。

このディスカッションとこのWeb ページを見ると、Hibernate の逆マッピングは、関係を制御し、行の更新を担当するのは誰かに関するものであることがわかります。どちらの場合も、BlogPostがあり、author_idその逆ではありません。

ORMLite BlogPost、オブジェクト内のコレクションに追加することでデータベースに追加できる「外部コレクション」の概念をサポートしていAuthorます。詳細については、外部コレクションのドキュメントを参照してください。

何かが足りない場合は申し訳ありません。

于 2011-08-02T19:00:45.300 に答える