私は多くのグーグルを行ってきましたが、なぜ休止状態で関連付けを使用する必要があるのか わかりませんか? 私は、一対多やその他の関連付けについて言及することなく、なんとか物事を行うことができます。休止状態の結合を明示的に使用しなくても、何らかの結合条件を使用してテーブルでデカルト積をいつでも実行できます。それらを使用しないと、何が恋しくなりますか? メリット、デメリットがあれば教えてください。ありがとうございました。
質問する
458 次
1 に答える
1
Hibernate での関連付けの主な利点は、ソース コードを介して簡単にエンティティにアクセス/永続child
化できることです。parent
たとえば、次のものがあったとします。
@Entity
public class Student{
@OneToMany
private List<Course> courses = new ArrayList<Course>();
//Accessors
}
私のコード内で、関連付けを使用して、次のような学生のすべてのコースを取得できます。
Student student = studentRepo.findById(1, Student.class);
List<Course> courses = student.getCourses();
この親子関係をトラバースするために必要なことはそれだけです。追加の SQL または結合は必要ありません。また、挿入や削除などの他の crud 操作も簡単に実行できます。
ところで、元の質問でデカルト結合について言及しましたが、これらは例外であり、標準ではありません。これらはパフォーマンスに大きなオーバーヘッドをもたらす可能性があり、多くの場合、別の結合を使用してより効率的に実行できます。
于 2013-10-02T08:47:30.900 に答える