単方向:
<code class="java">class Foo { private Bar bar; } class Bar { }</code>
双方向 (Foo クラスによって管理):
<code class="java">class Foo { @OneToOne(cascade = CascadeType.ALL) private Bar bar; } class Bar { @OneToOne(mappedBy = "bar") private Foo foo; }</code>
ユーザー管理の結合テーブルを使用した一方向:
<code class="java">class Foo { @OneToMany @JoinTable(name = "FOO_BAR", joinColumns = {@JoinColumn(name = "fooId")}, inverseJoinColumns = {@JoinColumn(name = "barId")}) private List<Bar> bars; } class Bar { // No corresponding mapping to Foo.class } @Entity @Table(name = "FOO_BAR") class FooBar { private UUID fooBarId; private Foo foo; private Bar bar; }</code>
外部キー マッピングを使用した双方向:
<code class="java">class Foo { @OneToMany(mappedBy = "bar") private List<Bar> bars; } class Bar { @ManyToOne @JoinColumn(name = "fooId") private Foo foo; }</code>
Hibernate 管理結合テーブルを使用した双方向:
<code class="java">class Foo { @OneToMany @JoinTable(name = "FOO_BAR", joinColumns = {@JoinColumn(name = "fooId")}, inverseJoinColumns = {@JoinColumn(name = "barId")}) private List<Bar> bars; } class Bar { @OneToMany @JoinTable(name = "FOO_BAR", joinColumns = {@JoinColumn(name = "barId")}, inverseJoinColumns = {@JoinColumn(name = "fooId")}) private List<Foo> foos; }</code>
を使用した双方向ユーザー管理の結合テーブル:
<code class="java">class Foo { @OneToMany(mappedBy = "bar") private List<FooBar> bars; } class Bar { @OneToMany(mappedBy = "foo") private List<FooBar> foos; } @Entity @Table(name = "FOO_BAR") class FooBar { private UUID fooBarId; private Foo foo; private Bar bar; }</code>
以上がアノテーションを使用して Hibernate と Spring でリレーションシップを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。